我想创建自定义形状的按钮,所以我决定在分层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
但位图上的白色颜色虽然适合我自定义窗口形状但不会变得透明。
我该如何做到这一点?