随笔-145  评论-173  文章-70  trackbacks-0

     何谓插入符,其实之前也一直都不大明白,不过通过改参数,终于算是发现了,即一个竖直的线,不过有线的宽度,还有一个高度。

int  CTest27View::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
    
if  (CView::OnCreate(lpCreateStruct)  ==   - 1 )
        
return   - 1 ;
    
    
//  TODO: Add your specialized creation code here
    CClientDC dc( this );
    TEXTMETRIC tm;    
// TEXTMETRIC结构显示当前字体的信息
    dc.GetTextMetrics( & tm);         // 得到字体信息存入tm
    CreateSolidCaret((tm.tmAveCharWidth + 20 ) / 8 ,tm.tmHeight * 20 );   // 创建插入符
    ShowCaret();     // 显示插入符

    
return   0 ;
}


void  CTest27View::OnLButtonDown(UINT nFlags, CPoint point) 
{
    
//  TODO: Add your message handler code here and/or call default    
    SetCaretPos(point);         // 改变插入符的位置,point是当前客户区的位置
    CView::OnLButtonDown(nFlags, point);
}

  此函数就是:CreateSolidCaret((tm.tmAveCharWidth+20)/8,tm.tmHeight*20);  //创建插入符
具体来说就是它决定了插入符的宽度和高度,也就是线长和线粗。

本程序功能是:实现鼠标点击处显示一个插入符。。。。
posted on 2010-02-21 19:51 deercoder 阅读(447) 评论(0)  编辑 收藏 引用 所属分类: MFC程序设计入门

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理