国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
VFP 主程序設(shè)計(jì) 表單窗口屬性
VFP編譯后運(yùn)行時(shí)一閃而過的原因及解決方法  
本文所指的"表單窗口屬性"是指那些不但影響表單本身的特征,而且對(duì)表單之外、項(xiàng)目之中的其它"元件"有影響的表單屬性,
它們是:
 屬性               意義                               可選值(黑體為默認(rèn)值)  
DeskTop            指定表單是否包含在VFP主窗口中              .F.或.T.  
WindowType         指定表單對(duì)象運(yùn)行時(shí)的動(dòng)作                0-無模式/1-模式 
ShowWindow         指定在創(chuàng)建過程中表單窗口顯示表單或工具欄 0-在屏幕中/1-在頂層表單中/3-做為頂層表單 

 下面針對(duì)上述表單屬性以及VFP中"桌面(DeskTop)、屏幕(Screen)、表單(Form)"等概念進(jìn)行介紹。  
1.表單是一個(gè)對(duì)象,外觀表現(xiàn)上是一個(gè)窗口。VFP的主窗口也可以說是一個(gè)"表單"對(duì)象,它有一個(gè)固定的名字叫"_Screen","_Screen"是一個(gè)特殊的表單對(duì)象; 

2."ShowWindow"是規(guī)定表單在"顯示方面的從屬關(guān)系"的屬性 ShowWindow屬性實(shí)際上僅有兩種選擇:"作為頂層表單"與"在頂層表單中"。為了表達(dá)方便,我們把具有前者屬性值的表單稱為"頂層表單",后者稱為"從屬表單"。二者在顯示方面的不同地位是:頂層表單在Windows任務(wù)欄上有一席之地,從屬表單卻沒有這種待遇;頂層表單最小化時(shí),從屬表單隨之被隱藏,當(dāng)頂層表單關(guān)閉后,從屬表單隨之關(guān)閉。 ShowWindow的第三種選擇"在屏幕中(默認(rèn))"僅是"在頂層表單中"的一個(gè)特例,即為"在_Screen這個(gè)特定的頂層表單中"之意,選擇此種屬性值時(shí),它一定是個(gè)"從屬表單"了。_Screen具有"頂層表單"的一切顯示特征。  從屬表單不能獨(dú)立地被顯示,必須與他的"主表單"一起顯示,這個(gè)"主表單"要么是一個(gè)頂層表單要么是VFP的窗口(_Screen)。不需要為一個(gè)"從屬表單"指定一個(gè)"主表單","從屬表單"打開時(shí),自動(dòng)選擇當(dāng)前的活動(dòng)頂層表單作為其"主表單",當(dāng)然,如果選擇了"在屏幕中",則這個(gè)從屬表單自然就以_Screen為其主表單了。 

 3."DeskTop"是規(guī)定表單在"顯示方面的活動(dòng)范圍"的屬性。  DeskTop僅對(duì)"從屬表單"有意義,當(dāng)從屬表單的DeskTop=.f.時(shí),它只能顯示在它的"頂層表單"的尺寸之內(nèi),當(dāng)這個(gè)頂層表單的尺寸比它的尺寸還小時(shí),它將會(huì)被部分地遮?。划?dāng)從屬表單的DeskTop=.t.時(shí),它的活動(dòng)范圍將不受它的頂層表單尺寸的限制,它可以顯示在電腦屏幕的任何地方甚至之外。但不管它的位置離其頂層表單多遠(yuǎn),一旦頂層表單最小化了,它會(huì)立即順從地從電腦屏幕上消失。 

 4."ShowWindows"是規(guī)定表單被執(zhí)行時(shí)的程序動(dòng)作的屬性   分兩種情況:   (1)當(dāng)表單的ShowWindow為"在屏幕中"和"在頂層表單中"時(shí): a.當(dāng)WindowType="模式"時(shí),執(zhí)行表單(DO FORM)后使得表單取得焦點(diǎn),并且一直到它被關(guān)閉,在此期間,它的父窗口對(duì)象(可能是_Screen或一個(gè)頂層表單)的菜單系統(tǒng)及其所屬的子表單都不能用。就是說,在表單存在期間,它將一直霸占著焦點(diǎn). b.當(dāng)WindowType="無模式"時(shí),表單存在期間不會(huì)霸占焦點(diǎn)。有一個(gè)例外,當(dāng)DeskTop=.t.時(shí),執(zhí)行它時(shí)會(huì)使系統(tǒng)菜單失效,而DeskTop=.f.時(shí)則不會(huì)。   (2)當(dāng)表單的ShowWindow為"做為頂層表單"時(shí): 表單的WindowType屬性不管是有模式還是無模式,都不會(huì)霸占焦點(diǎn)。 

 5.一般情況,用戶的應(yīng)用系統(tǒng)需要一個(gè)主表單(主窗口),您可以將_Screen作為這個(gè)主窗口,也可以將項(xiàng)目中的某個(gè)"頂層表單"做為"主窗口",很難說那種更好。但在此筆者建議使用VFP主窗口做為用戶系統(tǒng)的主窗口,這樣可能會(huì)省去一些麻煩,因?yàn)閂FP的很多工具條窗口被設(shè)計(jì)成只能開在_Screen中,例如在打印預(yù)覽工具條等。  程序編譯成EXE后,前者啟動(dòng)時(shí)先顯示VFP主窗口,后者直接顯示程序員自己設(shè)計(jì)的頂層表單。對(duì)于后者,為屏蔽VFP主窗口,一定要在Config.fpw寫入Screen=off(Config.fpw應(yīng)加入到項(xiàng)目中,這樣連編后它將被包含進(jìn)EXE中,這一來可減少提供安裝文件的數(shù)量,二來也可避免被用戶更改)。 另一方面,很多應(yīng)用系統(tǒng)程序都喜歡有一個(gè)漂亮的或曰自以為漂亮的啟動(dòng)封面,然后再進(jìn)入主控界面。如果一方面不希望在顯示自己的啟動(dòng)封面前有VFP主窗口搶鏡頭,另一方面又想讓VFP主窗口做為程序的主控界面時(shí),解決辦法是:設(shè)計(jì)一個(gè)"頂層表單"做為啟動(dòng)封面,config.fpw中仍須寫Screen=off,然后在啟動(dòng)封面展示夠了自己的魅力之后,用一句_Screen.Show將_Screen打回原形。 

 6.ShowWoindow與DeskTop屬性僅規(guī)定了Form在顯示方面的特征,而在"對(duì)象"這一更加高級(jí)的層面上,"頂層表單"與"從屬表單"彼此是平級(jí)的,而_Screen雖然在顯示方面與"頂層表單"具有相同的地位,但在對(duì)象層面卻是高一級(jí)的東西,所有表單,不管你是"頂層表單"還是"從屬表單",都是它的子對(duì)象。 

 7."為什么我的程序編譯后一閃而過?" 這個(gè)問題有兩種可能性,第一種是程序執(zhí)行完成并退出,第二種是程序正在執(zhí)行,但界面被隱藏。對(duì)于第二種情況,可直接按"Ctrl-Alt-Del"鍵觀察到。造成這兩種情況的原因如下: 先看下面的一段示例程序,假如下面的示例程序是項(xiàng)目的主程序,并且應(yīng)用項(xiàng)目以VFP主窗口做為自己的主窗口?! ?*環(huán)境設(shè)置    Do Form myScreen &&啟動(dòng)封面表單 _   Screen.Show &&顯示VFP主窗口    Do myMenu.mpr &&安裝菜單系統(tǒng)    RETURN   為達(dá)到在顯示啟動(dòng)封面之前不顯示VFP主窗口的目的,在Config.fpw中已寫Screen=off,當(dāng)程序執(zhí)行到Do Form myScreen這一句時(shí),如果表單myScreen的ShowWindows屬性被設(shè)為"在屏幕中",則不管是在開發(fā)環(huán)境還是在編譯環(huán)境下,程序都將停下來,表單被顯示在_Screen中,而_Screen被隱藏了,因此表單跟著也被隱藏了,所以在屏幕上什么也看不見。這就是第二種情況的產(chǎn)生原因。為了避免這種錯(cuò)誤的出現(xiàn),必須將myScreen表單的ShowWindow的屬性設(shè)為"做為頂層表單",這樣就可使在_Screen被隱藏的情況下,myScreen仍然可以被顯示出來。但請(qǐng)注意,在此情況下,Do Form myScreen這句話執(zhí)行后,程序并不能停下來,而是順序地執(zhí)行下去,一直到執(zhí)行到RETURN后程序退出,這也就是著名的"一閃而過"現(xiàn)象了。為此必須在程序中包含事件處理命令Read Events使程序停下來,如下:  *環(huán)境設(shè)置   Do Form myScreen &&啟動(dòng)封面表單    Read Events &&開始事件處理:使啟動(dòng)封面停下來    _ Screen.Show &&顯示VFP主窗口    Do myMenu.mpr &&安裝菜單系統(tǒng)    Read Events &&開始事件處理    RETURN   程序執(zhí)行Do Form myScreen后,將啟動(dòng)封面顯示在屏幕上,然后向下執(zhí)行到Read Events開始事件處理,此時(shí)啟動(dòng)封面表單必須由用戶關(guān)閉或由表單事件關(guān)閉,否則程序?qū)⒁恢蓖T赗ead Events這一句上。不管myScreen表單由誰關(guān)閉,在關(guān)閉代碼中必須包含一句Clear Events的停止事件處理命令,以便開始執(zhí)行Read Events的下一句指令,順序執(zhí)行完成_Screen.Show及Do myMenu.mpr后,用戶的主界面就建立完成,同理,此處還需要一個(gè)事件處理命令讓程序再次停下來,開始菜單系統(tǒng)的命令處理,一般情況,菜單系統(tǒng)中將包含的"退出"項(xiàng),其中有"Clear Events"清除事件處理代碼,從而停止第二條"Read Events"事件處理命令,退出整個(gè)系統(tǒng)。

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
[轉(zhuǎn)帖]了解VFP表單窗口屬性(含“一閃而過”問題分析) — 編程愛好者論壇http://...
vfp的編程知識(shí)<一>
連編后,登錄進(jìn)入主界面,然后點(diǎn)擊子菜單不顯示是怎么回事?
vfp a表單調(diào)用B表單,等B表單關(guān)閉才能關(guān)閉a表單
VFP的_SCREEN對(duì)象屬性和事件的定義
如何在VFP中實(shí)現(xiàn)動(dòng)態(tài)統(tǒng)計(jì)圖形[5]
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服