在 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;
}
按钮看起来像:
但我需要它看起来像这个(我在 .Net 中做的):
我怎样才能去掉那个黑色边框/背景?
最佳答案
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/