Прозрачность фона кнопки с использованием Win32 и визуальных стилей
-
21-08-2019 - |
Вопрос
Редактировать: Если кто-нибудь пробовал это раньше в 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);
Кнопки выглядят нормально на белом фоне, но граница становится видимой поверх всего остального.Можно ли сделать рамку вокруг кнопок прозрачной?
Решение
Попытался ли ты WS_EX_TRANSPARENT
?
Я думаю, вы можете установить его в редакторе ресурсов в Visual Studio, если вы его используете.