专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Visual Studio

创设插入符及插入符操作

发布时间:2011-06-23 13:54:35 文章来源:www.iduyao.cn 采编人员:星星草
创建插入符及插入符操作
插入符的创建应该在窗口创建之后进行,可以在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;
}

创建插入符及插入符操作 - 逆天笨笨蛋 - QQ:373078188

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

 

 

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: