Winapi 更改使用Createwindow命令创建的按钮的背景色
您好,我想更改按钮的背景色。这是我的按钮代码Winapi 更改使用Createwindow命令创建的按钮的背景色,winapi,visual-c++,Winapi,Visual C++,您好,我想更改按钮的背景色。这是我的按钮代码 hwndTemp = CreateWindow(TEXT("BUTTON"), Str("Settings"), WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_TEXT|BS_PUSHBUTTON|WS_CLIPSIBLINGS, 0, 0, 0, 0, hwndMain, (HMENU)ID_SETTINGS, 0, 0); SendMessage(hwndTemp, WM_SETFONT, (W
hwndTemp = CreateWindow(TEXT("BUTTON"), Str("Settings"),
WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_TEXT|BS_PUSHBUTTON|WS_CLIPSIBLINGS,
0, 0, 0, 0, hwndMain, (HMENU)ID_SETTINGS, 0, 0);
SendMessage(hwndTemp, WM_SETFONT, (WPARAM)GetStockObject(DEFAULT_GUI_FONT), TRUE);
还有3个或4个按钮,我想将更改应用到每个按钮。所有这些按钮都有不同的名称。Windows自带的按钮控件没有可以更改的背景色属性。而且WM_CTLCOLORBTN不起作用(而且从未起作用)。您可以使用BS_OWNERDRAW样式或更新的NM_CUSTOMDRAW消息自定义按钮的外观。这并不像设置背景色那么简单:你必须画出整个按钮 codeproject中有许多此类技术的示例:
Windows自带的按钮控件没有可以更改的背景色属性。而且WM_CTLCOLORBTN不起作用(而且从未起作用)。您可以使用BS_OWNERDRAW样式或更新的NM_CUSTOMDRAW消息自定义按钮的外观。这并不像设置背景色那么简单:你必须画出整个按钮 codeproject中有许多此类技术的示例:
您是否在使用comctl v6和主题绘画?如果是这样的话,那么您就不再可以控制按钮的颜色。您需要自己绘制按钮。抱歉,我不知道comctl32 v6。我想您需要了解这一点。我已经阅读了WM_CTLCOLORBTN并尝试应用它,但它不起作用。您理解我最初的评论吗?您是否使用comctl v6和主题绘制?如果是这样的话,那么您就不再可以控制按钮的颜色。您需要自己绘制按钮。抱歉,我不知道comctl32 v6。我想您需要了解这一点。我已经阅读了WM_CTLCOLORBTN并尝试应用它,但它不起作用。您理解我最初的评论吗?