起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 211|回复: 7

【结帖】怎么显示漏斗鼠标状态?**

[复制链接]
发表于 2007-10-15 12:40:30 | 显示全部楼层 |阅读模式
有的功能打开需要的时间较长,用IE或客户端访问时,点击打开一个功能时没有显示忙的等待状态。现在希望能在打开一个功能时先显示漏斗状,打开后恢复原状。我在功能窗体的show事件里先用
Forms.Screen.Cursor:=-11;
然后是业务代码,最后用
Forms.Screen.Cursor:=-0
可是测试时没有见到效果,还是没有显示漏斗状,单独测试Forms.Screen.Cursor:=-11; 确实又是可以显示漏斗状的。那么应该怎么做呢?
回复

使用道具 举报

发表于 2007-10-15 15:17:43 | 显示全部楼层
语句执行肯定是有效果的
只是,楼主确认你的打开时间长是在
Forms.Screen.Cursor:=-11;
...
Forms.Screen.Cursor:=-0
中间吗?

如果时间长的操作不在这里,当然就不管用了
回复 支持 反对

使用道具 举报

发表于 2007-10-15 16:42:53 | 显示全部楼层
有二种方法,建议使用第二种方法:方法一:在业务功能里增加一个过程,代码如下:
procedure Dorun;override;

implementation

procedure TYWGN2.Dorun;
begin
     Business.Forms.Forms.Screen.Cursor := -11;
     inherited;
end;
在Form的onshow事件,代码如下
   Business.Forms.Forms.Screen.Cursor := -0;

方法二:在窗体上添加一个TTime控件,在TTime控件中的onTimer事件中写如下代码:
Timer1.Enabled := False;
  Forms.Screen.Cursor:=-11;
  SysUtils.Sleep(20000);   //写要执行的代码,执行完之后再去变回鼠标
  Forms.Screen.Cursor:=0;
在Form的onshow事件,代码如下
Timer1.Enabled := True;
回复 支持 反对

使用道具 举报

发表于 2007-10-15 16:42:55 | 显示全部楼层
楼主,使用之后请反馈。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-16 14:14:29 | 显示全部楼层
用time控件去估算sleep的时间?SysUtils.Sleep(20000);   //写要执行的代码,执行完之后再去变回鼠标,那我每台客户机性能不一样,执行起来有快有慢,岂不是估算的sleep值不够准确?
回复 支持 反对

使用道具 举报

发表于 2007-10-16 14:58:05 | 显示全部楼层
那里面的sleep只是我自己随便写的一个,不需要去估计,我想表达的意思是指你在  Forms.Screen.Cursor:=-11和Forms.Screen.Cursor:=0;之间写需要处理的事件。
回复 支持 反对

使用道具 举报

发表于 2007-10-25 16:10:49 | 显示全部楼层
楼主请回馈
回复 支持 反对

使用道具 举报

发表于 2007-10-31 10:29:32 | 显示全部楼层
由于长时间没有反馈,先结帖了。
有问题请开新帖
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-29 06:04 , Processed in 0.039386 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表