Сделать кнопку цветопрозрачной в Windows
Я хочу создать кнопки с пользовательскими формами, поэтому я решил сделать это с помощью многослойной Windows. Я создаю окно для кнопки, устанавливаю для нее растровое изображение, делаю его слоистым, а затем пытаюсь сделать белый цвет полностью прозрачным. Как только я пишу на masm, код выглядит так:
mov button, rv(CreateWindowEx, WS_EX_APPWINDOW or WS_EX_LAYERED,
chr$("Button"), NULL,
WS_CHILD or BS_BITMAP or WS_VISIBLE,
300, 10, 81, 98,
hWin, 200, hInstance, NULL)
mov bmHandle, rv(LoadImage, NULL, bitmapPath,
IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE or LR_DEFAULTSIZE)
invoke SendMessage, button, BM_SETIMAGE, IMAGE_BITMAP, eax
invoke SetLayeredWindowAttributes, hWnd, 00000000h, 0, LWA_COLORKEY
Но белый цвет на растровом изображении не становится прозрачным, хотя он работал с пользовательской формой окна для меня.
Как я могу сделать эту работу?