Если я не ошибаюсь, вы можете предпринять следующие шаги для достижения этого эффекта.
1.Создать растровый объект GDI+
с пиксельным форматом PixelFormat32bppPARGB
.
2.Создать Graphics
объект для рисования в этом Bitmap
объекте.
3.Введите весь свой рисунок в этот объект, используя GDI+
.
4.Уничтожить объект Graphics
, созданный на шаге 2.
5. Вызовите метод GetHBITMAP
объекта Bitmap, чтобы получить Windows HBITMAP
.
6.Уничтожить объект Bitmap
.
7.Создайте DC памяти с помощью CreateCompatibleDC
и выберите HBITMAP
с шага 5 в него.
8.Call UpdateLayeredWindow
с использованием памяти DC в качестве источника.
9.Выберите предыдущее растровое изображение и удалите память DC.
10.Уничтожить HBITMAP
, созданный на шаге 5.
Этот метод должен позволять вам контролировать альфа-канал всего, что рисуется: прозрачный для фона, непрозрачный для кнопки.
Аналогичное обсуждение: Прозрачное окно, содержащее непрозрачный текст и кнопки