给静态文本设置背景颜色
头文件里
//MSG_MAP
MESSAGE_HANDLER(WM_CTLCOLORSTATIC,OnCtlColorStatic)
//函数声明
LRESULT OnCtlColorStatic(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
cpp里
LRESULT CInitPinDlg::OnCtlColorStatic(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled){
HDC hDC = (HDC)wParam;
//SetBkColor(hDC, RGB(209,214,220)); //设置背景颜色
//SetBkMode((HDC)wParam, TRANSPARENT);//设置背景透明
return (LRESULT)GetStockObject(NULL_BRUSH);
}
这样Static 背景就设置完成了,那么其他控件如何设置呢?
找到 WM_CTLCOLORSTATIC 的定义 发现附近有几个类似的定义
#define WM_CTLCOLORMSGBOX 0x0132
#define WM_CTLCOLOREDIT 0x0133
#define WM_CTLCOLORLISTBOX 0x0134
#define WM_CTLCOLORBTN 0x0135
#define WM_CTLCOLORDLG 0x0136
#define WM_CTLCOLORSCROLLBAR 0x0137
#define WM_CTLCOLORSTATIC 0x0138
然后按照类似方法就可以实现以上控件的颜色设置了,具体可以在MSDN中查看相关细节