Прозрачность фона кнопок с использованием Win32 и визуальных стилей - PullRequest
0 голосов
/ 12 мая 2009

Редактировать: Если кто-то пробовал это в win32 раньше, я иду в правильном направлении, используя DrawThemeBackground ()?

Я недавно включил визуальные стили, используя манифест для версии 6 файла ComCtl32.dll. Пример визуальных стилей в 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);

Кнопки выглядят хорошо на белом фоне, но граница становится видимой на всем остальном. Можно ли сделать границы вокруг кнопок прозрачными?

1 Ответ

1 голос
/ 12 мая 2009

Вы пробовали WS_EX_TRANSPARENT?

Я думаю, вы можете установить его в редакторе ресурсов в Visual Studio, если вы его используете.

...