mainForm.button.disabled = 1sleep是CPU睡眠了,win.delay()是用CPU时钟到某个时间再执行,有区别的吧?
mainForm.listview.disabled = 1
win.delay(2000)
mainForm.button.disabled = 0
mainForm.listview.disabled = 0
mainForm.button.disabled = true这是什么原因呢?该怎么做才能在执行禁用语句后立即生效?
mainForm.listview.disabled = true
http = inet.whttp()
for(i=1;100000;1){
http.get("http//www.sina.com")
}
mainForm.button.disabled = false
mainForm.listview.disabled = false
http = inet.whttp()你后面写的这段代码,跟sleep函数是一样的,都会让界面失去响应(让界面消息循环停止,也就是win.loopMessage函数被暂停 ),所以你看不到灰化。
for(i=1;100000;1){
http.get("http//www.sina.com")
}
mainForm.button.disabled = 1
mainForm.listview.disabled = 1
http = inet.whttp()
for(i=1;100000;1){
http.get("http//www.sina.com")
}
mainForm.button.disabled = 0
mainForm.listview.disabled = 0
import win.ui;
/*DSG{{*/
mainForm = win.form(text="父窗口";right=759;bottom=469)
mainForm.add(
button={cls="button";text="button";left=147;top=320;right=293;bottom=363;z=1};
button2={cls="button";text="button2";left=386;top=312;right=544;bottom=363;z=2};
listview={cls="listview";left=192;top=104;right=476;bottom=246;edge=1;z=3}
)
/*}}*/
mainForm.listview.threadCallable();
mainForm.listview.insertColumn("test",300);
mainForm.button2.oncommand = function(id,event){
mainForm.button.disabled = true
mainForm.listview.disabled = true
win.invoke(
function(mainForm,url){
import inet.http;
var http = inet.http()
for(i=1;100;1){
var str = http.get(url)
mainForm.listview.addItem( string.left(str,10) )
}
} ,mainForm,"http://www.sina.com"
)
mainForm.button.disabled = false
mainForm.listview.disabled = false
}
mainForm.show()
return win.loopMessage();
import win.ui;
/*DSG{{*/
mainForm = win.form(text="父窗口";right=759;bottom=469)
mainForm.add(
button={cls="button";text="button";left=147;top=320;right=293;bottom=363;z=1};
button2={cls="button";text="button2";left=386;top=312;right=544;bottom=363;z=2};
listview={cls="listview";left=192;top=104;right=476;bottom=246;edge=1;z=3}
)
/*}}*/
mainForm.button2.oncommand = function(id,event){
mainForm.button.disabled = true
mainForm.listview.disabled = true
mainForm.redraw();
sleep(2000)
mainForm.button.disabled = false
mainForm.listview.disabled = false
}
mainForm.show()
return win.loopMessage();