cursorset.asm

来自「本程序**%100汇编语言**编写。 编译器: <<-----MAS」· 汇编 代码 · 共 78 行

ASM
78
字号
;****************set cursor functions*******************
_CursorProc proc    hWnd:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD
		mov	eax,uMsg
		.if	eax ==	WM_SETCURSOR
			invoke	SetCursor,hHandCur
		.else
			invoke	GetWindowLong,hWnd,GWL_USERDATA
			invoke	CallWindowProc,eax,hWnd,uMsg,wParam,lParam
			ret
		.endif
		xor	eax,eax
		ret

_CursorProc	endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_SetMainDlgCur   proc hWnd:HWND
local hWinTemp:dword
	invoke	GetDlgItem,hWnd,IDC_BROWSE
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
	invoke	GetDlgItem,hWnd,IDC_PLAY
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
	invoke	GetDlgItem,hWnd,IDC_EXIT
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
	invoke	GetDlgItem,hWnd,IDC_ITEM
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
	invoke	GetDlgItem,hWnd,IDC_SETCOLOR
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
	invoke	GetDlgItem,hWnd,IDC_REPEAT
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
	invoke	GetDlgItem,hWnd,IDC_ABOUT
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
	invoke	GetDlgItem,hWnd,IDC_CHANGEVOLUME
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
        ret
_SetMainDlgCur endp
_SetDlgSetCur proc hWnd:HWND
local hWinTemp:dword
	invoke	GetDlgItem,hWnd,IDC_SETLIST
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
	invoke	GetDlgItem,hWnd,IDC_CLOSE
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
	invoke	GetDlgItem,hWnd,IDC_UP
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
	invoke	GetDlgItem,hWnd,IDC_DOWN
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
	invoke	GetDlgItem,hWnd,IDC_DELETE
	mov	hWinTemp,eax
	invoke	SetWindowLong,hWinTemp,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hWinTemp,GWL_USERDATA,eax
	invoke	SetWindowLong,hListBox,GWL_WNDPROC,addr _CursorProc
	invoke	SetWindowLong,hListBox,GWL_USERDATA,eax
 	ret
_SetDlgSetCur endp

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?