QQ登录

只需一步,快速开始

57上位机VC MFC编辑框文本颜色任意设置

[ 复制链接 ]

57上位机VC MFC编辑框文本颜色任意设置

57上位机VC MFC编辑框文本颜色任意设置

57上位机VC MFC编辑框文本颜色任意设置


功能展示

在实际的应用程序当中,多种场合下都有改变编辑框内文字颜色的功能,如果密码输入错误可以设置文字为红色提醒用户,输入正确则还原默认颜色,如何实现编辑框内字体颜色任意修改?我们当前例程就实现这一功能,效果如图
要点提示
改变编辑框文本的颜色,可以通过Cedit的设备上下文类CDC中SetTextColor()函数来实现,在对话框中要使用这个函数生效,我们得在对话框的OnCtlColor()中对Cedit类的CDC函数SetTextColor()进行调用;在对话框中,控件被显示之前,我们的操作系统都会发送WM_CTLCOLOR消息到对话框程序中,也就是会调用OnCtlColor()函数;这个函数会修改对话框及其所包含的控件的颜色; afx_msg HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor ); pDC为指向绘图设备的指针; pWnd为指向具体的控件的指针; nCtlColor 为控件的类型,具体类型有CTLCOLOR_BTN   Buttoncontrol

CTLCOLOR_DLG   Dialog box ;CTLCOLOR_EDIT   Edit control; CTLCOLOR_LISTBOX   List-boxcontrol;

CTLCOLOR_MSGBOX   Message box; CTLCOLOR_SCROLLBAR   Scroll-bar control;CTLCOLOR_STATIC   Static control ;



实现功能
1.新建基于对话框的应用程序
2.拖拽一个编辑框控件用于显示文本;添加一个颜色用变量COLORREF m_Color;用于设置文本的颜色;添加几个radio button控件用于设置编辑框不同的文本颜色,给这几个按钮关联函数如我们例程void CGkbc8Dlg::OnGray()
{m_Color = RGB(119,136,153);GetDlgItem(IDC_EDIT1)->Invalidate();} ;

3.最后实现OnCtlColor()函数
  1. <div>HBRUSH CGkbc8Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) </div><div>{</div><div>HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);</div><div>if(nCtlColor == CTLCOLOR_EDIT)</div><div>pDC->SetTextColor(m_Color);</div><div>return hbr;</div><div>}</div>
复制代码
当然你还得往编辑框添加些文字,才能进行编辑框字体颜色任意设置功能效果的观察


我们来演示功能的实现过程
请点击此处下载

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

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

文件名称:57.上位机VC MFC编辑框文本颜色任意设置.rar 
文件大小:133.86 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

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

  

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

  

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


回复

使用道具 举报

点击查看
快速回复 返回列表 客服中心 搜索