QQ登录

只需一步,快速开始

48上位机VC MFC字体及颜色自由设置

[ 复制链接 ]

48上位机VC MFC字体及颜色自由设置

48上位机VC MFC字体及颜色自由设置

48上位机VC MFC字体及颜色自由设置


功能展示

有时我们在开发上位机程序时,想让程序有不同的字体和颜色,或是让用户选择自己的字体颜色,我们就得设计出这样的功能,当前例程我们实现了这一功能,效果如图

要点提示

MFC封闭了CFontDialog类,此类可以对我们操作系统如WIN7字体进行加载,用户可以通过此类选择我们系统安装的字体,同时在字体对话框中还可以设置字体大小,颜色,效果,字符集等属性。要使用CFontDialog类,我们就得对此类封装的功能进行了解:
CFontDialog构造函数, DoModal用于显示字体对话框供用户设置字体; GetCurrentFont用于获取当前字体 ; GetColor获取选择的字体颜色; m_cf用于保储字体信息的结构体,如保存了字体的颜色
更多不常用函数,可查阅MSDN手册
实现功能
1.新建基于对话框的应用程序
2.拖拽一编辑框和按钮控件,给编辑框关联变量Cedit m_Text;添加两变量private:
CFont m_Font;//用于设置的字体;COLORREFm_Color;//用于设置的字体颜色
3.在OnCtlColor()中设置编辑框控件颜色switch(nCtlColor) {caseCTLCOLOR_EDIT:
{pDC->SetTextColor(m_Color);} break; default:break;}

4.添加按钮控件的消息响应函数
  1. void CGkbc8Dlg::OnFont()
  2. {
  3.         CFont* TempFont = m_Text.GetFont(); //获取编辑框当前字体
  4.         LOGFONT LogFont;
  5.         TempFont->GetLogFont(&LogFont);
  6.         CFontDialog dlg(&LogFont); //初始化字体信息
  7.         dlg.m_cf.rgbColors=m_Color;
  8.         if(dlg.DoModal()==IDOK)
  9.         {
  10.                 m_Font.Detach();
  11.                 LOGFONT temp;
  12.                 dlg.GetCurrentFont(&temp);        //获取当前字体信息
  13.                 m_Font.CreateFontIndirect(&temp); //直接创建字体
  14.                 m_Color = dlg.GetColor();
  15.                 m_Text.SetFont(&m_Font);          //设置字体
  16.         }
  17. }         
复制代码


下面我们来实现整个功能
源码及视频下载
(仅在电脑可见)
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:48.上位机VC MFC字体及颜色自由设置.rar 
文件大小:122.72 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索