编辑:如果之前有人在win32中尝试过此操作,我是否正在使用DrawThemeBackground()进行正确的指示?
我最近使用ComCtl32.dll版本6的清单启用了Visual Styles。 Win32中的视觉样式示例:Visual Styles
按钮看起来很棒,但我无法弄清楚如何使按钮周围的背景透明。请参阅示例图片: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);
按钮在白色背景上看起来很好,但边框变得可见其他任何东西。是否可以使按钮周围的边框透明?
答案 0 :(得分:1)
您是否尝试过WS_EX_TRANSPARENT
?
我认为你可以在Visual Studio的资源编辑器中设置它,如果你正在使用它。