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中查看相关细节

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