0

编辑:如果有人以前在win32中尝试过这个,我是否通过使用DrawThemeBackground()朝着正确的方向前进?

我最近使用 ComCtl32.dll 版本 6 的清单启用了视觉样式。Win32 中的视觉样式示例:视觉样式

按钮看起来很棒,但我不知道如何使按钮周围的背景透明。请查看示例图片:http ://www.freeimagehosting.net/image.php?2bdeff33ba.jpg

我的主窗口背景颜色设置为深灰色:

a.hbrBackground = GetStockObject(DKGRAY_BRUSH);

常用控件初始化为:

INITCOMMONCONTROLSEX stylesStruct;
stylesStruct.dwSize = sizeof(stylesStruct);
stylesStruct.dwICC = ICC_STANDARD_CLASSES;
InitCommonControlsEx(&stylesStruct);

我创建了按钮窗口:

j = CreateWindow(L"BUTTON", L"hello",
    WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, 100, 100,
    100, 100, h, 0, hInst, 0);

按钮在白色背景上看起来很好,但边框在其他任何东西上都可见。是否可以使按钮周围的边框透明?

4

1 回答 1

1

你试过WS_EX_TRANSPARENT吗?

我认为你可以在 Visual Studio 的资源编辑器中设置它,如果你正在使用它。

于 2009-05-12T03:25:55.920 回答