case WM_CTLCOLORSTATIC:
{
HDC hdc = (HDC)wparam;
HWND hwndstatic = (HWND)lparam;
SetTextColor(hdc, COLORREF(RGB(255, 0, 0)));//设置文字的颜色
SetBkColor(hdc, RGB(0,255, 0));//设置文字的背景
//return (LRESULT)GetStockObject(BLACK_BRUSH);//设置控件的背景
HBRUSH hbrush = (HBRUSH)CreateSolidBrush(RGB(122,122,23));
return (LRESULT)hbrush;//设置控件的背景
}
结果:
case WM_CTLCOLORSTATIC:
{
HDC hdc = (HDC)wparam;
HWND hwndstatic = (HWND)lparam;
SetTextColor(hdc, COLORREF(RGB(255, 0, 0)));//设置文字的颜色
SetBkColor(hdc, RGB(0,255, 0));//设置文字的背景
//return (LRESULT)GetStockObject(BLACK_BRUSH);//设置控件的背景
SetBkMode(hdc, TRANSPARENT);//设置文字的背景颜色为透明
HBRUSH hbrush = (HBRUSH)CreateSolidBrush(RGB(122,122,23));
return (LRESULT)hbrush;//设置控件的背景
}
结果:
case WM_CREATE:
{
//调用时机:窗口创建成功,CreateWindow返回前调用
LPCREATESTRUCT pc = (LPCREATESTRUCT)lparam;
HWND hstatic = CreateWindow(L"static", L"这是一个静态文本", WS_CHILD | WS_VISIBLE, 10, 10, 150, 55, hwnd, (HMENU)111, pc->hInstance, 0);
HWND hstatic1 = CreateWindow(L"static", L"这是一个静态文本", WS_CHILD | WS_VISIBLE, 10, 80, 150, 55, hwnd, (HMENU)112, pc->hInstance, 0);
}
break;
case WM_CTLCOLORSTATIC:
{
HDC hdc = (HDC)wparam;
HWND hwndstatic = (HWND)lparam;
LONG nid = GetWindowLong(hwndstatic, GWL_ID);
if (nid == 111)
{
SetTextColor(hdc, COLORREF(RGB(255, 0, 0)));//设置文字的颜色
SetBkColor(hdc, RGB(0, 255, 0));//设置文字的背景
HBRUSH hbrush = (HBRUSH)CreateSolidBrush(RGB(122, 122, 23));
return (LRESULT)hbrush;//设置控件的背景
}
else if (nid == 112)
{
SetTextColor(hdc, COLORREF(RGB(255, 0, 255)));//设置文字的颜色
SetBkColor(hdc, RGB(0, 255, 100));//设置文字的背景
HBRUSH hbrush = (HBRUSH)CreateSolidBrush(RGB(22, 122, 23));
return (LRESULT)hbrush;//设置控件的背景
}
}
break;
结果: