当鼠标变为忙状态时,怎么让程序不再受鼠标控制?(20分)

  • 主题发起人 主题发起人 jdelphi
  • 开始时间 开始时间
对不起,JDELPHI你能不能说清楚点。不是很懂你的意思,你想让什么程序不受鼠标控制?<br>为什么要这样做?如果是自己的程序,可以不接受鼠标的任何事件;是其它程序,要用到<br>HOOK
 
程序忙时,鼠标变做漏斗状,已经无法点击程序响应了!<br>你到底需要什么?
 
程序运行过程中需要鼠标变做漏斗状,不再接受任何鼠标信息(只限于我自己的程序).<br>自己设置Screen.Cursor:=crHourGlass,程序还是可以响应鼠标的
 
要对其它程序也生效的话,用HOOK吧
 
在程序中将Form 或有关控件的Enabled 的属性设为False 就好了. 不过你的程序不忙时就及时<br>恢复为True &nbsp;,不然就死了:)<br>最好加个Try ... Finally ... end .
 
在程序中将 Form 的Enabled 的属性设为False.<br>如下:<br><br>&nbsp; Self. Enabled := False;<br>&nbsp; Self. Cursor := crHourglass;<br>&nbsp; Self. Update;<br>&nbsp; Application. ProcessMessages;<br>&nbsp; try &nbsp;<br>&nbsp; &nbsp; &nbsp;{do something}<br>&nbsp; &nbsp; &nbsp;{如果你要做一個大循環,時間很長的話,在循環過程中加入:<br>&nbsp; &nbsp; &nbsp; &nbsp; Application. ProcessMessages; }<br>&nbsp; finally<br>&nbsp; &nbsp; &nbsp;form1. Enabled := True;<br>&nbsp; end;<br>
 
gear1023:<br>不能使鼠标处于漏斗状
 
用Screen.Cursor:=crHouseGlass;即可。
 
如果单纯用Screen.Cursor:=crHourGlass,程序还会响应鼠标,<br>如果前面使用Self. Enabled := False;,Screen.Cursor:=crGourGlass就不起作用了
 
简单方法:Screen.Cursor:=crGourGlass后 用ShowModal弹出一个不可见的窗口,完成后释放。
 
到底你要干什么?[:)]
 
大部分程序在运行中经常会出现鼠标变成漏斗的形状,防止用户让正处理任务中的程序执行其他操作.我只是想实现这种基本的功能
 
就是说你希望能控制别人的程序或者瘟98程序的运行咯,这样的话,只有用HOOK
 
最省心,最直接的办法,把能引起其他动作的孔件都disable。<br>不就多敲几句话嘛!
 
同意wk_knife
 
多人接受答案了。
 
后退
顶部