gpt4 book ai didi

winapi - 更改使用 Createwindow 命令创建的按钮的背景颜色

转载 作者:行者123 更新时间:2023-12-02 01:08:16 26 4
gpt4 key购买 nike

您好,我想更改按钮的背景颜色。这是我的按钮代码

 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 个按钮,我想将更改应用于每个按钮。而且它们都有不同的 (HMENU) 名称。

最佳答案

Windows 原生的按钮控件没有可以更改的背景颜色属性。并且 WM_CTLCOLORBTN 不起作用(并且从未起作用)。您可以使用 BS_OWNERDRAW 样式或较新的 NM_CUSTOMDRAW 消息自定义按钮的外观。它不像设置背景颜色那么简单:您必须绘制整个按钮。

在 codeproject 中有很多这些技术的例子:

http://www.codeproject.com/Articles/3269/Native-Win32-Theme-aware-Owner-draw-Controls-witho

http://www.codeproject.com/Articles/12340/CImageButtonWithStyle-Buttons-using-Images-with-XP

关于winapi - 更改使用 Createwindow 命令创建的按钮的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20241315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com