我尝试更改 UI 中按钮的默认颜色。
这是我的 CallBacl 函数
LRESULT CALLBACK WindowProcedure(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
{
switch (msg)
{
case WM_COMMAND:
switch (wp)
{
case FILE_MENU_NEW:
MessageBeep(MB_ICONINFORMATION);
break;
}
break;
case WM_CREATE:
AddMenus(hWnd);
AddControls(hWnd);
break;
case WM_CTLCOLOREDIT:
{
if (hEdit == (HWND)lp)
{
HDC hdcEdit = (HDC)wp;
SetTextColor(hdcEdit, RGB(255, 255, 255));
SetBkColor(hdcEdit, RGB(48, 56, 66));
return (INT_PTR)hBrush1;
}
}
case WM_CTLCOLORBTN:
{
if (hButton_ok == (HWND)lp)
{
HDC hdcButton_ok = (HDC)wp;
SetTextColor(hdcButton_ok, RGB(255, 255, 255));
SetBkColor(hdcButton_ok, RGB(87, 102, 110));
return (INT_PTR)hBrush;
}
}
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProcW(hWnd, msg, wp, lp);
}
}
现在案例 WM_CTLCOLOREDIT 正确更改了我的文本输入对话框的背景颜色, 为什么 WM_CTLCOLORBTN 会失败?