1.首先在自己需要设置界面的对话框上点击右键-->建立类向导-->加入WM_CTLCOLOR消息-->自动生成OnCtlColor()函数, 此函数可以对本对话框的控件的界面外观做修饰, 用法如下: 将类向导产生的函数做如下修改: HBRUSH CDialogColor::OnCtlColor(CDC* pDC, CWnd*pWnd, UINT nCtlColor) { HBRUSH hbr=CDialog::OnCtlC...
很多人都觉得自己的程序的界面不那么美观往往vc默认产生的对话框比较单调因此很多人往往找到很多其它的控件对对话框进行美化修饰例如给静态控件设置字体设置背景颜色等等其实这些完全可以由vc自己的wmctlcolor消息来完成 MFC中WM_CTLCOLOR消息的用法 很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调...
5.WM_CTLCOLOR 消息响应 我们可以通过这个消息函数来设置控件的背景颜色 函数必须返回一个画刷 这个函数被调用多次 每次对应一个控件 afx_msg HBRUSH OnCtlColor( CDC* pDC, //控件设备描述 CWnd* pWnd, //指向控件的指针 UINT nCtlColor ); //控件的类型 CWnd::GetDlgCtrlID() //CWnd类的成员函数 通过对象来...
首先,为对话框添加WM_CTLCOLOR消息,方法为:右击Dialog窗口 --> Class Wizard --> Messages --> WM_CTLCOLOR --> Add Handler --> Edit Code 然后,在Dlg.h文件中添加成员变量CBrush m_brush; 接着,在之前Edit Code的位置,写上 HBRUSH CMFCInterfaceDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtl...
右键点击该对话框-> 类导向 -> 消息 ->双击添加WM_CTLCOLOR,就可以在Dlg类中看到3所示函数OnCtlColor了。 HBRUSH CTimerDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
在实际的应用中,可以用WM_CTLCOLOR 消息改变mfc中控件的颜色,比如现在就来改变一个static text控件的 字体、字体大小、字体颜色和背景色。 例如对话框的类为CTestDlg. 1. 在对话框的类中添加两个变量. 方法:在classview选项卡中,选择CTestDlg,右键,add member variable. ...
在实际的应用中,可以用WM_CTLCOLOR 消息改变mfc中控件的颜色,比如现在就来改变一个static text的背景色和字体: 1. 在对话框的类中添加两个变量: CBrush m_brush; CFont m_font; 在OnInitDialog()函数中添加: // TODO: 在此添加额外的初始化代码 ...
1、MFC设置静态文本框,编辑框等控件背景和字体颜色在MFC类库提供了 CWnd:OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型:afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd *pWnd,UINT nCtlColo r); 参数nCtlColor用于指定控件的类型,可以是:.CTLCOLOR_...
在主窗口的类向导中找到WM_CTLCOLOR消息 , 这是绘制控件消息: 将消息双击生成处理函数,代码如下: HBRUSH Cclass05Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);// TODO: 在此更改 DC 的任何特性if (pWnd->GetDlgCtrlID() == IDC_...
ON_WM_CTLCOLORREFLECT消息是WM_CTLCOLOR消息的反射。 WM_CTLCOLOR消息是用来完成对EDIT、STATIC以及BUTTON等空间设置背景和颜色的方法。 通过发射机制,让父窗口类去处理的消息变成了子控件窗口来处理,增强了封装性,也同时提高了子控件窗口类的可重用性。可谓是一举两得了。