給靜態文本設置背景顏色
頭文件裏
//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中查看相關細節