|
模態窗口
窗口分為模態窗口和非模態窗口。
模態窗口的特性我們經常用到的MsgBox()和MsgBoxEx()函數所彈出的對話框就類似於模態窗口。為:當一個模態窗口顯示在最前端時,如果用戶想要對該窗口以外的程序部分進行操作時,必須首先對該窗口進行響應。如單擊【確定】或【取消】按鈕或者直接關閉該畫麵。
非模態對話框的特性為:當一個非模態窗口顯示在最前端時,它並不限製用戶的操作對象。如果同時打開多個非模態窗口,那麼用戶可隨意操作這些窗口中的任意窗口,而不必事先關閉前端窗口。
有(you)些(xie)情(qing)況(kuang)下(xia)我(wo)們(men)必(bi)須(xu)使(shi)用(yong)模(mo)態(tai)窗(chuang)口(kou)才(cai)能(neng)解(jie)決(jue)一(yi)些(xie)問(wen)題(ti)。例(li)如(ru),我(wo)們(men)在(zai)製(zhi)作(zuo)一(yi)些(xie)設(she)置(zhi)畫(hua)麵(mian)時(shi),我(wo)們(men)希(xi)望(wang)使(shi)用(yong)者(zhe)在(zai)打(da)開(kai)該(gai)畫(hua)麵(mian)時(shi)不(bu)能(neng)對(dui)其(qi)他(ta)畫(hua)麵(mian)進(jin)行(xing)操(cao)作(zuo),隻(zhi)有(you)關(guan)閉(bi)該(gai)畫(hua)麵(mian)後(hou)才(cai)允(yun)許(xu)進(jin)行(xing)其(qi)他(ta)操(cao)作(zuo)。此(ci)種(zhong)情(qing)況(kuang)隻(zhi)能(neng)用(yong)模(mo)態(tai)窗(chuang)口(kou)來(lai)解(jie)決(jue)了(le)。
模態窗口的使用
模態窗口的打開與關閉是通過兩個函數來實現的:
#窗口名.DoModal();//以模態方式打開窗口
#窗口名.EndModal(int Expr);//結束模態窗口
例如:在非模態窗口window中的一處腳本中執行#ModalWindow.DoModal()語句,則窗口ModalWindow會以模態方式打開,此時窗口window在窗口ModalWindow調用EndModal(int Expr)函數或被關閉之前會一直處於暫停狀態,不響應用戶的任何操作。用戶僅能在模態窗口ModalWindow上進行操作,操作完成後可以使用#ModalWindow.EndModal(int Expr)語句來結束當前模態窗口(該窗口將會隱藏,但並不關閉),其中參數Expr(由用戶控製,不限製其取值範圍)將傳遞給DoModal()函數作為其返回值,接續執行下麵的腳本。用戶可以根據這個Domodal的返回值來確定模態窗口的操作結果。
下圖為模態窗口使用示意圖:
應用進階
通常情況下,我們可以使用模態窗口的EndModal(int Expr)函數中的參數Expr來指定該窗口結束時的返回值。正如上圖所示,我們可以通過Expr得知用戶點擊的是【下一步】、【確定】亦或是【取消】按鈕。但有些時候,僅僅得到這些信息是不夠的。例如,我們需要得知在點擊【下一步】或者“確定”按鈕後用戶具體選擇了窗口ModalWindow中的哪些選項。
這時,我們需要使用其他方式在窗口間傳遞更多的信息。可以選擇的方式有很多,比如使用全局變量、shiyongquanjuzidingyihanshuhuozheshiyongchuangkouyuansudewaibuyinyonggongnengdeng。danshi,shiyongquanjubianlianghuoquanjuzidingyihanshujiangzengjiagongchengdeouhexing,jiangdigongchengdekeyizhixing。jiaoweituodangdefangshishishiyongchuangkouyuansudewaibuyinyonggongneng,jichuangkoujiantongxun。
我wo們men可ke以yi在zai打da開kai模mo態tai窗chuang口kou前qian就jiu進jin行xing相xiang應ying的de信xin息xi傳chuan遞di,利li用yong窗chuang口kou變bian量liang作zuo為wei傳chuan遞di和he保bao存cun信xin息xi的de載zai體ti。前qian麵mian說shuo過guo,當dang一yi個ge模mo態tai窗chuang口kou結jie束shu時shi並bing不bu意yi味wei著zhe該gai窗chuang口kou被bei關guan閉bi,其qi實shi它ta隻zhi是shi被bei隱yin藏zang在zai後hou台tai,這zhe時shi我wo們men仍reng然ran可ke以yi訪fang問wen該gai模mo態tai窗chuang口kou中zhong的de元yuan素su。也ye就jiu是shi說shuo,在zai模mo態tai窗chuang口kou結jie束shu時shi,它ta可ke以yi主zhu動dong向xiang當dang前qian窗chuang口kou反fan饋kui相xiang關guan的de信xin息xi,或huo者zhe當dang前qian窗chuang口kou直zhi接jie讀du取qu剛gang結jie束shu的de模mo態tai窗chuang口kou相xiang關guan信xin息xi。
注:有關窗口元素的外部引用功能,讀者可以參考聯機幫助中的相關說明。
產品介紹網址: www.realinfo.com.cn
發布時間: 2026-04-08 10:08:21
|