vc_mfc_文本

这篇博客介绍了MFC中关于文本编程的一些关键点,包括光标的创建、显示和属性调整,文字的输出与颜色处理,路径的使用以及字体的选择与应用。还特别提到KalaOK字体的变色实现,利用CDC::DrawText和定时器来动态改变文字颜色。
摘要由CSDN通过智能技术生成

 文本编程
 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设定的消息;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值