一。頁框(pageframe)和頁(frame):頁框是頁的容器,一個頁框可以包含多個頁。頁框和頁的關系類似于windows操作系統(tǒng)中的對話框和選項卡之間的關系。頁本身也是一種容器,一個頁內(nèi)也可包含若干個對象。通過頁框和頁,大大展寬了表單的大小,并方便分類組織對象。在頁框中通過頁面標題來選擇頁面,當前被選中的頁面就是活動頁面。
二。頁框常用屬性見下表:
屬性 | 作用 |
pagecount | 頁數(shù) |
activepage | 指定活動頁面 |
tabs | 指定頁面標題是否顯示 |
tabstyle | 指定頁面標題排列方式,0-兩端排列,1-非兩端排列 |
tabstrech | 頁面標題內(nèi)容較長時指定所有頁的標題排列方式,0-單行排列,1-多行排列 |
頁面通過caption屬性設置標題的文本。在每個頁面上可加入不同的對象。
在頁面上加入和選擇對象的步驟:
1.右擊頁框,在快捷菜單中選"編輯",此時頁框四周出現(xiàn)綠色陰影,進入編輯狀態(tài)。
2.單擊頁框中各頁面的標簽,即選中此頁面,此時可向該頁添加對象,或在"屬性"窗口中設置該頁面的各種屬性
三。頁面中各對象的引用:
1.絕對引用方式:格式如下:
thisform.頁框名。頁名。頁面對象名
2.相對引用方式:
(1).同一頁面不同對象的引用:this.parent.引用對象名
(2).不同頁面間的對象的引用:this.parent.parent.引用對象名
Visual FoxPro基礎教程完整版四。例:頁框中對象的引用
1.新建一個表單,并按下表設置其屬性。
屬性名 | 屬性值 |
caption | 頁框中對象的引用 |
autocenter | .T. |
width | 375 |
height | 158 |
2.向表單中添加一個頁框pageframe1,并將其pagecount屬性設為2,即該頁框內(nèi)有兩個頁面(實際上,新建一個頁框,如果不設置pagecount屬性,則默認為2).設置完畢后,界面如圖39
3.頁框中有page1和page2兩個頁面,我們先來設置其中的page1
(1).右擊頁框,在快捷菜單中選"編輯",此時頁框四周出現(xiàn)綠色陰影,進入編輯狀態(tài),如圖40
(2).在頁框的編輯狀態(tài)下,單擊選中page1標簽,在"屬性"窗口中將其caption屬性設為"第一頁",然后向page1中添加一個文本框 text1,一個命令按鈕command1,并將該命令按鈕的caption設為"輸入",設置完畢如圖41
4.同樣方法,在頁框的編輯狀態(tài)下,單擊選中page2標簽,在"屬性"窗口中將page2的caption改為"第二頁",向page2中添加一個文本框text1及一個命令按鈕command1,并將命令按鈕的caption改為"顯示",如圖42
5.做到這兒,我們發(fā)現(xiàn),頁框里有兩個command1.實際上,頁框中的每個頁面都仍然是一個容器,而第一個comman1包含于page1,第二個comman1包含于page2,所以可以重名。
6.在頁框的編輯狀態(tài)下,我們可以單擊其中兩個頁面的標簽,觀察變化。
*表單的load事件代碼:
public xy &&定義一個全局變量xy,用于在兩個頁面間傳遞值
*頁面page1,即"第一頁"中的"輸入"命令按鈕的click事件:
右擊頁框pageframe1,選"編輯"命令,單擊page1的標簽"第一頁"選中該頁面,再雙擊其中的命令按鈕,在代碼窗口中選擇click事件,輸入如下代碼:
xy=thisform.pageframe1.page1.text1.value &&將輸入到文本框中的東西傳遞給全局變量xy
thisform.pageframe1.page1.text1.value=""
thisform.refresh
注:上述代碼是絕對引用方式的代碼,也可以用相對引用方式編寫代碼,功能是一樣的,如下:
xy=this.parent.text1.value
this.parent.text1.value=""
thisform.refresh
*頁面page2,即"第二頁"中的"顯示"命令按鈕的click事件:
thisform.pageframe1.page2.text1.value=xy
thisform.refresh
注:上述代碼是絕對引用形式,采用相對引用方式編寫的代碼如下:
this.parent.text1.value=xy
thisform.refresh
8.保存并運行表單,我們在"第一頁"的文本框中輸入一些文本,單擊"輸入"按鈕,該文本即被賦給全局變量xy,同時文本框被清空(自己分析一下上面的代碼,想想為什么會這樣?);然后,我們切換到"第二頁",單擊"顯示"按鈕,即從全局變量xy中取出文本,并顯示在"第二頁"的文本框中。
Visual FoxPro基礎教程完整版