WTL 設置控件背景顏色 Edit,Static等

給靜態文本設置背景顏色

頭文件裏

	//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中查看相關細節

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章