win32汇编--光标图标进阶之动态设置光标与图标

前边已经说过如何加载光标与图标,现在就再进一步说明一下如何动态设置光标与图标:

以下是核心代码(完整工程下载)

.if eax==WM_CREATE invoke _CreatePopMenu mov hPopMenu,eax invoke LoadIcon,hInstance,IDI_ICO1 mov hIco1,eax invoke LoadIcon,hInstance,IDI_ICO2 mov hIco2,eax invoke LoadCursor,hInstance,IDC_CUR1 mov hCur1,eax invoke LoadCursor,hInstance,IDC_CUR2 mov hCur2,eax .elseif eax==WM_RBUTTONDOWN invoke GetCursorPos,addr @stPos invoke TrackPopupMenu,hPopMenu,TPM_LEFTALIGN,@stPos.x,@stPos.y,NULL,hWnd,NULL .elseif eax==WM_COMMAND mov eax,wParam movzx eax,ax .if eax==IDM_ICO1 invoke SendMessage,hWnd,WM_SETICON,ICON_SMALL,hIco1 invoke CheckMenuRadioItem,hPopMenu,IDM_ICO1,IDM_ICO2,IDM_ICO1,MF_BYCOMMAND .elseif eax==IDM_ICO2 invoke SendMessage,hWnd,WM_SETICON,ICON_SMALL,hIco2 invoke CheckMenuRadioItem,hPopMenu,IDM_ICO1,IDM_ICO2,IDM_ICO2,MF_BYCOMMAND .elseif eax==IDM_CUR1 invoke SetClassLong,hWnd,GCL_HCURSOR,hCur1 invoke CheckMenuRadioItem,hPopMenu,IDM_CUR1,IDM_CUR2,IDM_CUR1,MF_BYCOMMAND .elseif eax==IDM_CUR2 invoke SetClassLong,hWnd,GCL_HCURSOR,hCur2 invoke CheckMenuRadioItem,hPopMenu,IDM_CUR1,IDM_CUR2,IDM_CUR2,MF_BYCOMMAND .endif

转载于:https://www.cnblogs.com/wbbice/archive/2012/09/04/2670121.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值