|
原帖由 clonecd 于 2012-5-30 09:00 发表 
以下代码是想先显示窗口,然后全盘搜索文件,再把结果赋值给下拉框。
因为搜索文件需要花一定的时间,所以如果先搜索好文件再显示窗口,会让人觉得程序运行得慢。
不过我赋值给下拉框总是不成功,还请指点 ...
用多线程和消息。
多线程.界面长时间初始化.WCS:
CALL SHOWFIRST
_SUB SHOWFIRST,W480H360,文件列表,
ENVI &&I=0
ENVI &&TXTLS=
ENVI &&TXTLS1=
LIST TXTLIST,L41T2W385H226, ,
LABE LABE1,L92T298W293H21,LABE3,,
ENVI @SHOWFIRST.MSG=#1: CALL OnMsg1
TIME Timer1,200, CALL OnTimer1
CALL OnTimer1
THREAD* FINDFILE
_END
_SUB OnTimer1
TEAM ENVI @LABE1=请等待 %&I% ...| CALC &I= %&I% + 0.2#1
_END
_SUB OnMsg1
TEAM ENVI @Timer1=0| ENVI @LABE1=搜索完毕,写入窗口。。。
ENVI @TXTLIST=%&TXTLS%
ENVI @TXTLIST=:%&TXTLS1%
ENVI @LABE1=
_END
_SUB FINDFILE
FORX /S T:\*.TXT,ANYTXT,1, ENVI &TXTLS1=%ANYTXT%
FORX /S T:\*.TXT,ANYTXT,0, ENVI &TXTLS=%&TXTLS%|%ANYTXT%
MSTR &TXTLS=2,0,%&TXTLS%
ENVI @Timer1=0
ENVI @SHOWFIRST.POSTMSG=#1 //通知完成
_END
|
|