文本编程
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_文本
最新推荐文章于 2025-12-16 21:04:25 发布
这篇博客介绍了MFC中关于文本编程的一些关键点,包括光标的创建、显示和属性调整,文字的输出与颜色处理,路径的使用以及字体的选择与应用。还特别提到KalaOK字体的变色实现,利用CDC::DrawText和定时器来动态改变文字颜色。
633

被折叠的 条评论
为什么被折叠?



