在FORM中的edit1,edit2 中有 mouse 的坐标,可是mouse 一出form1 就不动了,help me!!! (50分)

  • 主题发起人 主题发起人 allen72
  • 开始时间 开始时间
edit1.text 随着mouse 移动而变化的。
 
FORM怎么动?
 
有onomusemove事件吗?
 
wm_mousemove消息
 
form 不用动,只是mouse  出了form 的范围,edit.text 的值就不动了,就是onmousemove
事件出了form 就没效了。。
 
好象有控制MOUSE不超出form的方法。
 
我就是要在mouse 出了form ,任然在edit.text 中出现当前mouse 坐标!!
 
检索一下HOOK。
 
procedure MyMouseMove(var msg:TMessage);message WM_MOUSEMOVE;
在此过程中处理你的东西
 
写hook程序...
 
gcq:

"procedure MyMouseMove(var msg:TMessage);message WM_MOUSEMOVE;"
好象不能通过,提示 unknown directive: 'message'
 
你要是不会 Hook , 可以这样
建立 Timer , 每秒触发的次数根据你的需要;
在 OnTimer 里:
Var P:TPoint;
Begin
GetCurcorPos(P);
Edit1.Text:=InttoStr(P.X);
Edit2.Text:=InttoStr(P.Y);
End;

简单吧?
 
写hook程序
其实写hook程序很简单,不过我是用VC写的,不知道用delphi怎么写,
不过我想应该大同小异把。

 
上面的过程没错,但同样只能在应用程序的范围内有效,离开FORM就不行了!:(
可能只有用HOOK了!
 
To gcq:
请看仔细。再试。
 
GGCAT: 谢谢!!我成攻了
 
接受答案了.
 
后退
顶部