我在窗口上放了一个Edit控件,鼠标放在Edit控件里的时候鼠标时“I”型的,可是把鼠标移出来到其余的客户区的时候鼠标还是“I”型的。求救为什么。
------解决方案--------------------
什么啊?是在 RichEdit 里处理右键,处理时 TrackPopupMenu() 时将其中的 hWnd 参数指向主窗,这个意思是告诉弹出菜单将选择菜单项的命令传递给主窗进行处理,而不是你代码里的 RichEdit 窗口。
_ProcRichEdit proc uses ebx edi esi,hWnd,uMsg,wParam,lParam
local @stPos:POINT
local @stPs:PAINTSTRUCT
mov eax,uMsg
.if eax==WM_RBUTTONDOWN
invoke GetCursorPos,addr @stPos
invoke TrackPopupMenu,hSubMenu,TPM_LEFTALIGN,@stPos.x,@stPos.y,NULL,hWinMain,NULL ; 这里用 hWinMain 而非 hWnd!