win32程式設計改變空間的背景顏色
搞了好久,也找了很多的資料,用了很多種方法,就是實現不了改變控制元件的背景顏色。終於,自己慢慢“研究”,實現了最後想要的結果。先貼上部分程式碼。
case WM_CREATE:
{
hTime = CreateWindow(TEXT("STATIC"), TEXT("Label"), WS_CHILD | WS_VISIBLE | WS_TABSTOP, 0, 30, 35, 16, hWindow, HMENU(20), m_hInstance, NULL);
rColor = RGB(255, 0, 0);
hbrush = CreateSolidBrush(rColor);//建立一個畫刷
UpdateWindow(hWindow);
return 0;
}//建立一個控制元件(Label標籤),text為Label,ID號指定為20。
case WM_CTLCOLORSTATIC:
{
int id = GetWindowLong((HWND)lparam, GWL_ID);
hdc = (HDC)wParam;
if (20 == id)
{
SetBkColor(hdc, rColor);
return (LONG)hbrush;//返回畫刷後,系統就是自動根據現在的畫刷來繪畫想要的效果。
}
return 0;
}