我想创建具有自定义形状的按钮,所以我决定在分层窗口的帮助下完成。我为按钮创建窗口,为其设置位图,使其分层,然后尝试使白色完全透明。我一写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
但是位图上的白色不会变得透明,尽管它与我的自定义窗口形状一起使用。
我怎样才能使这项工作?