流云の剑舞秋风

吾生也有涯 而知也无涯

博客园 首页 新随笔 联系 订阅 管理

WM_CTLCOLOR消息对应的函数为OnCtlColorOnCtlColor函数的原型为:afx_msg HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor );其中参数pDC是:一个指向设备环境的指针。pWnd:指定特定的控件。nCtlColor:指明控件类型。 可以有以下类型:

CTLCOLOR_BTN button control        CTLCOLOR_DLG dialog box        CTLCOLOR_EDIT edit control
CTLCOLOR_LISTBOX list box           CTLCOLOR_MSGBOX message box
CTLCOLOR_SCROLLBAR scroll bar    CTLCOLOR_STATIC static text, frame, or rectangle

现在为了突出显示文本框的显示号码,我们将文本框的文字背景设为黄色。
步骤1、添加一个成员变量 HBRUSH m_hBrush;
步骤2、用Class WizardCGuessDlg加入WM_CTLCOLOR消息,并编辑OnCtlColor函数:
HBRUSH CGuessDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{

if(nCtlColor==CTLCOLOR_EDIT)

{pDC->SetBkColor (RGB(255,255,0));//EDIT控件文字背景为黄色
return m_hBrush;

}
return CDialog::OnCtlColor (pDC,pWnd,nCtlColor);

}
编译运行,文本框内的文字均变为黄底了

posted on 2005-05-08 14:24  流云  阅读(1144)  评论(0编辑  收藏  举报