创建插入符及插入符操作_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 创建插入符及插入符操作

创建插入符及插入符操作

 2015/1/29 21:28:35  逆天笨笨蛋  程序员俱乐部  我要评论(0)
  • 摘要:插入符的创建应该在窗口创建之后进行,可以在WM_CREATE消息的响应函数中创建.(注意,视类窗口覆盖在框架窗口之上)一、创建普通插入符intCDrawView::OnCreate(LPCREATESTRUCTlpCreateStruct){if(CView::OnCreate(lpCreateStruct)==-1)return-1;//TODO:在此添加您专用的创建代码TEXTMETRICtm;CClientDCdc(this);dc.GetTextMetrics(&tm)
  • 标签:创建 操作
插入符的创建应该在窗口创建之后进行,可以在WM_CREATE消息的响应函数中创建.(注意,视类窗口覆盖在框架窗口之上)

一、创建普通插入符

int CDrawView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CView::OnCreate(lpCreateStruct) == -1)
        return -1;

    // TODO:  在此添加您专用的创建代码

    TEXTMETRIC tm;
    CClientDC dc(this);
    dc.GetTextMetrics(&tm);//取得当前设备描述表中的字体信息
    //将插入符的高度设为当前字体高度,宽度设为当前字体宽度/8,这是一个经验值.
    CreateSolidCaret(tm.tmAveCharWidth/8,tm.tmHeight);
    ShowCaret();//CreateSolidCaret创建的插入符初始时是隐藏的,调用ShowCaret来显示它.

    return 0;
}

二、创建图形插入符

int CDrawView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CView::OnCreate(lpCreateStruct) == -1)
        return -1;
    // TODO:  在此添加您专用的创建代码

    static CBitmap bitmap;//注意把CBitmap对象定义为成员变量或静态变量,
    //否则当OnCreate函数结束后会导致CBitmap对象被析构,并销毁与该对象关联的资源,
    //导致插入符无法显示。
    bitmap.LoadBitmapW(IDB_BITMAP1);
    CreateCaret(&bitmap);//创建位图插入符
    ShowCaret();//显示插入符

    return 0;
}

创建插入符及插入符操作 - 逆天笨笨蛋 - <a href=QQ:373078188" />

三、 可以在WM_LBUTTONDOWN或WM_LBUTTONUP消息中调用SetCaretPos函数,设置插入符在客户区中的显示位置为鼠标点击的位置
    SetCaretPos(m_BeginPaint);

 

 

上一篇: 菜单命令的路由 下一篇: 没有下一篇了!
发表评论
用户名: 匿名