我用ES_PASSWORD创建了一个编辑控件。我想将静态框的颜色更改为灰色。
case WM_CTLCOLOREDIT:
{
HDC hdc = (HDC) wParam ;
SetBkMode( hdc, RGB(65, 65, 65));
return (LRESULT)GetStockObject(NULL_BRUSH);
}
但仍然通过编辑控件是白色:(
请帮帮我。 如果有多个编辑控件,那么是
答案 0 :(得分:0)
您的邮件处理程序应如下所示:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_CTLCOLOREDIT:
{
HBRUSH hBrush = CreateSolidBrush(RGB(255,0,0));
::SelectObject((HDC)wParam, (HGDIOBJ)hBrush);
break;
}
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
确保你没有加入DefWindowProc,这将打败覆盖。