国外营销型网站,html变Wordpress,青岛网页搜索排名提升,如何做和别人一样的网站(Abbey发表于2004-2-1 1:48:45)首先要明白#xff1a;WM_CTLCOLOR是一个由控制(Control)发送给它父窗口的通知消息(Notification message)。实现步骤#xff1a;生成一个标准的单文档应用程序框架#xff0c;假设应用程序的名称为Color。我将利用它的About对话框做示范。在A…(Abbey发表于2004-2-1 1:48:45)首先要明白WM_CTLCOLOR是一个由控制(Control)发送给它父窗口的通知消息(Notification message)。实现步骤生成一个标准的单文档应用程序框架假设应用程序的名称为Color。我将利用它的About对话框做示范。在About dialog中添加两个Edit control,设定其ID为IDC_EDIT1与IDC_EDIT2。第一种方法(对应于IDC_EDIT1): 按照标准的Windows编程由其父窗口的消息处理函数负责处理WM_CTLCOLOR消息。1. 在CAboutDlg中添加一个数据成员HBRUSH m_brMine;2. 利用向导映射AboutDlg的WM_CTLCOLOR消息产生函数HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)pDC是AboutDlg的设备上下文pWnd是AboutDlg中发送该消息的control指针nCtlColor市Control的类型编码。对其进行如下修改HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { if ((pWnd-GetDlgCtrlID() IDC_EDIT1) (nCtlColor CTLCOLOR_EDIT)) { COLORREF clr RGB(255,0,0); pDC-SetTextColor(clr); //设置红色的文本 clr RGB(0,0,0); pDC-SetBkColor(clr); //设置黑色的背景 m_brMine ::CreateSolidBrush(clr); return m_brMine; //作为约定返回背景色对应的刷子句柄 } else { HBRUSH hbr CDialog::OnCtlColor(pDC, pWnd, nCtlColor); return hbr; }}第二种方法(对应于IDC_EDIT2): 利用MFC 4.0的新特性: Message reflection。1.利用向导添加一个新的类CColorEdit基类为CEdit;2.在CColorEdit中添加一个数据成员: HBRUSH m_bkBrush;3.利用向导映射CColorEdit的WM_CTLCOLOR消息产生函数HBRUSH CColorEdit::CtlColor(CDC* pDC, UINT nCtlColor); 对其进行如下修改HBRUSH CColorEdit::CtlColor(CDC* pDC, UINT nCtlColor) { COLORREF clr RGB(0,0,0); pDC-SetTextColor(clr); //设置黑色的文本 clr RGB(255,0,0); pDC-SetBkColor(clr); //设置红色的背景 m_bkBrush ::CreateSolidBrush(clr); return m_bkBrush; //作为约定返回背景色对应的刷子句柄}4.利用向导为IDC_EDIT2生成一个数据成员CColorEdit m_coloredit;5.在定义CAboutDlg的color.cpp文件中加入#include coloredit.h转载于:https://www.cnblogs.com/henryzc/archive/2005/10/28/263628.html