MFC的插入符应用

来源:互联网 发布:团购系统源码 编辑:程序博客网 时间:2024/05/23 01:56
void CMouseDemo1View::OnSetFocus(CWnd* pOldWnd){CView::OnSetFocus(pOldWnd);// TODO: Add your message handler code hereCreateSolidCaret(2,15);//使用指定大小创建一个实心的黑色插入符SetCaretPos(m_ptCaretPos);//设置插入符的位置ShowCaret();//显示插入符}void CMouseDemo1View::OnKillFocus(CWnd* pNewWnd){CView::OnKillFocus(pNewWnd);// TODO: Add your message handler code herem_ptCaretPos=GetCaretPos();HideCaret();DestroyCaret();}void CMouseDemo1View::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags){// TODO: Add your message handler code here and/or call defaultCSize sizeTextBox;CPoint pt=GetCaretPos();//获取插入符位置HideCaret();//隐藏插入符if(nChar==VK_RETURN)//换行{m_strMessage.Empty();m_nLine++;pt.y+=20;pt.x=0;}else{m_strMessage+=static_cast<wchar_t>(nChar);}//获取用户输入字符并显示CClientDC dc(this);dc.TextOutW(0,m_nLine*20,m_strMessage);sizeTextBox=dc.GetTextExtent((LPCTSTR)&nChar,1);//移动插入符到新位置pt.x+=sizeTextBox.cx;SetCaretPos(pt);ShowCaret();CView::OnChar(nChar, nRepCnt, nFlags);}

原创粉丝点击