資源描述:
《表單集與多重表單》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第9章表單集與多重表單9.1表單集創(chuàng)建表單集表單集的應(yīng)用9.2多重表單表單的類型主從表單之間的參數(shù)傳遞隱藏VisualFoxPro主窗口大多數(shù)的應(yīng)用程序都有不同的用戶界面,這樣就有必要介紹多個(gè)表單的使用。如果在程序中同時(shí)出現(xiàn)的表單之間存在頻繁的信息交流,可以使用“表單集”來(lái)組織表單。如果表單之間存在調(diào)用關(guān)系,可以利用“多重表單”。9.1表單集表單集有以下優(yōu)點(diǎn):①可同時(shí)顯示或隱藏表單集中的全部表單。②可以可視的調(diào)整多個(gè)表單以控制它們的相對(duì)位置。③因?yàn)楸韱渭兴斜韱味际窃趩蝹€(gè).scx文件中用單獨(dú)的數(shù)據(jù)環(huán)境定義的,可自動(dòng)地同步改變多個(gè)
2、表單中的記錄指針。如果在一個(gè)表單的父表中改變記錄指針,另一個(gè)表單中子表的記錄指針則被更新和顯示。如果需要將多個(gè)表單處理為表單組,可創(chuàng)建表單集。運(yùn)行表單集時(shí),將加載表單集所有表單和表單的所有對(duì)象。加載帶著很多控件的多個(gè)表單將會(huì)花費(fèi)幾秒鐘的時(shí)間。表單集是在“表單設(shè)計(jì)器”中創(chuàng)建的。無(wú)論是建立一個(gè)新表單還是打開(kāi)已有的表單,進(jìn)入“表單設(shè)計(jì)器”后,從主菜單中,選擇“表單”菜單中的“創(chuàng)建表單集”,即可創(chuàng)建一個(gè)新的表單集FormSet1,如圖所示。9.1.1創(chuàng)建表單集表單集是一個(gè)包含有一個(gè)或多個(gè)表單的父層次的容器,該容器不可見(jiàn)。創(chuàng)建表單集以后,該
3、表單集包含原有的一個(gè)表單,可以向表單集中添加新的表單或刪除表單。如下圖所示。若要向表單集中添加新的表單,可以從主菜單的“表單”欄中,選擇“添加新表單”。若要從表單集中刪除表單,可以:第1步:在“屬性”窗口對(duì)象列表框中,選定要?jiǎng)h除的表單。第2步:從主菜單的“表單”欄中選擇“移除表單”。如果表單集中只有一個(gè)表單,則無(wú)法刪除表單,只可刪除表單集而只剩下單個(gè)的表單。若要?jiǎng)h除表單集,可以從主菜單的“表單”欄中選擇“移除表單集”。例9-1使用表單集設(shè)計(jì)的電子標(biāo)題板程序(如圖)。創(chuàng)建表單集:在主菜單中選擇“表單”中的“創(chuàng)建表單集”,創(chuàng)建一個(gè)包含
4、原有“控制”表單的表單集FormSet1。然后再在“表單”菜單中選擇“添加新表單”,表單設(shè)計(jì)器中出現(xiàn)第二個(gè)表單(Form2)。在Form2中增加一個(gè)標(biāo)簽Label1和一個(gè)計(jì)時(shí)器Timer1。9.1.2表單集的應(yīng)用為表單集創(chuàng)建自定義方法Yidong(),實(shí)現(xiàn)斜向移動(dòng),其代碼為:DOCASECASETHIS.Tag=“1”&&用MOVE方法將圖片向上向左移動(dòng)20線THIS.Form2.Label1.Move(THIS.Form2.;Label1.Left–3,THIS.Form2.Label1.Top–3)IFTHIS.Form2.
5、Label1.Left<=0THIS.Tag=“2”&&如果圖片到達(dá)窗體左邊界,向上向右移動(dòng)ELSEIFTHIS.Form2.Label1.Top<=0THIS.Tag=“4”&&如果圖片到達(dá)窗體頂端,向下向左移動(dòng)ENDIFENDIFCASETHIS.Tag=“2"&&將圖片向上向右移動(dòng)20線THIS.Form2.Label1.Move(THIS.Form2.;Label1.Left+3,THIS.Form2.Label1.Top–3)IFTHIS.Form2.Label1.Left>=(THIS.Form2.;Width–TH
6、IS.Form2.Label1.Width)THIS.Tag=“1”&&如果圖片到達(dá)窗體右邊界,向上向左移動(dòng);程序通過(guò)窗體寬度減去圖片寬度獲得窗體右邊界ELSEIFTHIS.Form2.Label1.Top<=0THIS.Tag=“3”&&如果圖片到達(dá)窗體頂端,向下向右移動(dòng)ENDIFENDIFCASETHIS.Tag=“3”&&向下向右移動(dòng)20線THIS.Form2.Label1.Move(THIS.Form2.Label1.Left+3,THIS.Form2.Label1.Top+3)IFTHIS.Form2.Label1.L
7、eft>=(THIS.Form2.;Width-THIS.Form2.Label1.Width)THIS.Tag=“4”&&如果圖片到達(dá)窗體右邊界,向下向左移動(dòng)ELSEIFTHIS.Form2.Label1.Top>=(THIS.Form2.;Height–THIS.Form2.Label1.Height)THIS.Tag=“2”&&如果圖片到達(dá)窗體底端,向上向右移動(dòng),程序通過(guò)窗體高度減去圖片高度并減去主題條和菜單條占的680線決定窗口底端ENDIFENDIFCASETHIS.Tag="4"&&向下向左移動(dòng)20線THIS.For
8、m2.Label1.Move(THIS.Form2.;Label1.Left–3,THIS.Form2.Label1.Top+3)IFTHIS.Form2.Label1.Left<=0THIS.Tag="3"&&如果圖片到達(dá)窗體左邊界,向下向右移