c++ - WINAPI 按钮背景

标签 c++ windows winapi win32gui

在 WINAPI 中,我创建了一个按钮,如下所示:

case WM_CREATE:
{
    Start = CreateWindowEx(WS_EX_TRANSPARENT, "Button", "Start", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 20, 50, 75, 25, window, (HMENU)ID_START, hInstance, NULL);
            break;
}

按钮看起来像: enter image description here

但我需要它看起来像这个(我在 .Net 中做的):

enter image description here

我怎样才能去掉那个黑色边框/背景?

最佳答案

  Start = CreateWindowEx(WS_EX_TRANSPARENT, ...);

你得到黑色轮廓是因为你使用了 WS_EX_TRANSPARENT 样式标志。不清楚为什么要使用它,当您使用 Button 控件时,您无能为力。否则可能是 least understood style flag .改为传递 0 以获得外观正常的按钮。

要获得 .NET 按钮的精确外观是不可能的,Winforms 不使用内置的 Button 控件。它创建自己的,使用自定义渲染器来获得渐变外观。重现该原生代码需要大量工作。

关于c++ - WINAPI 按钮背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14060394/

相关文章:

c++ - 创建一个动态二维数组来存储类对象

C++:循环依赖问题

c++ - 运行时计时功能和命令行时间之间的区别

c++ - DnsQuery 无法获取某些特定 FQDN 上的有效地址

不能包含这两个文件(WinSock2、Windows.h)

c++ - 有什么办法可以使 SHFileOperation 成为模态吗?

c++ - 如何使用 eclipse 控制台输入数据? (c++)

c# - 在Windows XP/Vista/Seven中获得GET Master音量(通常通过键盘滚轮增加音量)

c++ - 尝试在注册表中创建值 - C++ - RegSetValueEx

c - Windows 事件 API 对驱动器安装使用react?