文本编程
1,光标;
*时机: 在CView窗口创建后完成, CView::OnCreate();
*创建: CWnd::CreateSolidCaret();
*显示: 默认创建后是隐藏的,ShowCaret(); HideCaret();
*属性: 大小(一般参考文字大小: CDC::GetTextMetrics());
位置(CWnd::SetCaretPos());
*图形caret;
CBitmap bitmap;
bitmap.LoadBitmap(IDC_BITMAP1);
CreateCare(&sbitmap);
2,文字输出;
*时机: 窗口重绘时,CView::OnDraw();
*函数: CString;
CDC::TextOut();
CDC::GetBkColor();
CDC::SetTextColor();
*过程: Onchar();
LButtonDown();
回车处理;
退格处理;
光标位置;
3,路径;
*函数: CDC::BeginPath();
CDC::EndPath();
CDC::GetTextExtend(); //获取字符串的宽度和高度;
CDC::SelectClipPath(RGN_DIFF); //排除当前路径作为剪切区域;
*用途: 路进程中绘制rect,不会显示出来覆盖文字;
方便路径作为整体在 ClipPath 中进行操作;
想独立对某个部分进行操作时,可考虑将其作为path;
4,字体;
*构建: CFont构造;
必须初始化:CreateFont,CreateFontIndirect(),CreatePointFont(),CreatePointFontIndirect();
*应用: CFont ft;
ft.CreatePointFont(300,"华文行楷",NULL);
CFont* pOldFont=dc.SelectObject(&ft);
5,KalaOK字体变色;
*原理: CDC::DrawText(..,CRect rect,..); 只显示rect框内的文字;
SetTimer()触发WM_TIMER消息,在消息响应函数内调用DrawText();
CView::Ontimer(UINT nIDEvent); //参数指出响应了哪个Timer设定的消息;
vc_mfc_文本
最新推荐文章于 2024-08-10 17:59:34 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)