📄 bmpbutton.asm
字号:
BmpButton proc hParent:DWORD,a:DWORD,b:DWORD,wd:DWORD,ht:DWORD,ID:DWORD
; BmpButton PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
; invoke BmpButton,hWnd,20,20,100,25,500
szText bmpBtnCl,"BUTTON"
szText blnk2,0
invoke CreateWindowEx,0,
ADDR bmpBtnCl,ADDR blnk2,
WS_CHILD or WS_VISIBLE or BS_BITMAP,
a,b,wd,ht,hParent,ID,
hInstance,NULL
ret
BmpButton endp
; #########################################################################
SetBmpColor proc hBitmap:DWORD
LOCAL mDC :DWORD
LOCAL hBrush :DWORD
LOCAL hOldBmp :DWORD
LOCAL hReturn :DWORD
LOCAL hOldBrush :DWORD
invoke CreateCompatibleDC,NULL
mov mDC,eax
invoke SelectObject,mDC,hBitmap
mov hOldBmp,eax
invoke GetSysColor,COLOR_BTNFACE
invoke CreateSolidBrush,eax
mov hBrush,eax
invoke SelectObject,mDC,hBrush
mov hOldBrush,eax
invoke GetPixel,mDC,1,1
invoke ExtFloodFill,mDC,1,1,eax,FLOODFILLSURFACE
invoke SelectObject,mDC,hOldBrush
invoke DeleteObject,hBrush
invoke SelectObject,mDC,hBitmap
mov hReturn,eax
invoke DeleteDC,mDC
mov eax,hReturn
ret
SetBmpColor endp
; #########################################################################
bmpProc proc hCtl :DWORD,
uMsg :DWORD,
wParam :DWORD,
lParam :DWORD
.if uMsg == WM_LBUTTONDOWN
lbda:
invoke SendMessage,hBtn4,BM_SETIMAGE,0,hBmp2
.elseif uMsg == WM_LBUTTONUP
lbua:
invoke SendMessage,hBtn4,BM_SETIMAGE,0,hBmp1
.endif
invoke CallWindowProc,lpfnbmpProc,hCtl,uMsg,wParam,lParam
ret
bmpProc endp
; #########################################################################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -