vfp教材教學課件(6-9章)_第1頁
vfp教材教學課件(6-9章)_第2頁
vfp教材教學課件(6-9章)_第3頁
vfp教材教學課件(6-9章)_第4頁
vfp教材教學課件(6-9章)_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

6.3表單設計器

用表單向導設計表單,固然簡單方便又不需要編寫代碼,但表單向導設計出的表單是

有一定的固定模式,功能也有限。如果想設計無固定模式,多功能的表單,表單向導是無

法實現的。VFP提供了表單設計器,面向對象編程的可視化工具,用以滿足開發(fā)者設計風

格,功能齊全的表單。

表單設計器的環(huán)境

1.翻開表單設計器

(1)用界面的方式翻開

文件一新建或常用工具欄中的新建按鈕,翻開新建對話框一在文件類型中選表單一新

建文件按鈕,翻開表單設計器如圖6.15所示。

勸??MStreox*aiwo???ci>

口國⑷JL-

B小

nAra

s

mGJ

pe

Eal

?s

cn

rw

(iruxiik

e(WUCTI

”F-W4

?F-Hl

.*T-

、?

,-

dtUXWI

0無B

,?.?i

(BUJtfBl

E--

(9U32S)

T-XI

T-Ml

圖6.15表單設計器

(2)用命令方式翻開

格式:MODIFYFORM[〈表單名〉|?]

功能:翻開表單設計器,創(chuàng)立或修改由表單名指定的表單。

說明:無選項或選?,將出現翻開對話框,選一個表單或輸入一個表單名,輸入的表

單名如果不存在那么創(chuàng)立新的表單,如果存在那么對原表單進行修改。

2.表單設計器環(huán)境

在表單設計器中有FORM表單,表單設計器工具欄,如圖6.15所示,假設表單設計器工

具欄被隱藏,可通過如下步驟翻開:顯示一工具欄,翻開工具欄對話框一選擇表單設計器

(1康單設計器工具欄

表單設計器工具欄按鈕如圖6.16所示。

icrosoftVisualFoxPro

文件國)編詣②顯示W)格式@)表用如工只9程序電)窗口⑹幫助Qi)

口|國?|副[Tab鍵次序@)

數據環(huán)境色).二1_11些1「"U囿「

回學師幽但

尾性(P)

代碼值

y表單痙件工且欄工)

y布局工具欄(I)'

潮色板工具欄(5)

v網格線(G)

顯示位廢電)

工具欄(T)...

圖6.16

1)設置Tab鍵次序

單擊此按鈕,可顯示按下Tab鍵時,光標在表單各控件上移動的順序。要改變順序可用

鼠標按需要順序單擊各控件的顯示順序號??丶荲FP所有圖形構件的統(tǒng)稱,控件可以快

運構造應用程序的輸入輸出界面,表單的設計與控件是密不可分的。

2)數據環(huán)境

單擊此按鈕,可以為表單提供表,數據庫表,視圖的數據環(huán)境。

3)屬性窗口

單擊此按鈕可以翻開或關閉屬性窗口,如圖6.17所示。屬性窗口用于對各對象設置屬

性。屬性窗口中,對象下拉列表用來顯示當前對象。全局選項卡是列出全部選項的屬性和

方法,數據選項卡是列出顯示或操作的數據屬性,方法選項卡顯示方法和事件,布局選項

卡顯示所有布局的屬性,其他選項卡顯示自定義屬性和其他特殊屬性。

圖6.17屬性窗口

4)代碼窗口

單擊此按鈕,可翻開或關閉代碼窗口,代碼窗口用于對對象的事件與方法的代碼的編

輯。

5)表單控件工具欄

擊此按鈕,可翻開或關閉表單工具欄。表單工具欄提供了21個控件和選定對象,查看

類,生成器鎖定,按鈕鎖定等幾個圖形按鈕。如圖6.1B所示。在設計表單中用控件設計圖

形界面。假設想知道某一個控件的名稱,只需要把鼠標放到這個控件上。

圖6.18表單控件工具欄

6)調色板工具欄

單擊按鈕,可翻開或關閉調色板工具欄,該工具欄用于對對象的前景和背景進行設置。

7)布局工具欄

單擊此按鈕,可翻開或關閉布局工具欄,可對對象位置進行設置。

8)表單生成器

單擊此按鈕,可翻開或關閉表單生成器,直接以填表的方式對相關對象各項設置。

9)自動格式

單擊此按鈕,可翻開或關閉自動格式生成器,可對各控件進行設置。

例6.1設計一個顯示圖6.19所示的表單。當單擊表單上的文字時文字變?yōu)椤皩W習要勤

奮〃,再雙擊就又恢復成以前的文字。單擊退出釋放表單。

圖6.19例6.1表單

步驟:

1)翻開表單設計器

2)翻開表單工具欄,屬性窗口

3)在表單上添加一個標簽控件和一個命令按鈕控件

4)將當前對象選為Label1,將它的Caption屬性設置為“歡送新同學〃

5)將當前對象選為Commandl,將它的Caption屬性設置為“退出〃

6)雙擊Labell控件,翻開代碼窗口。將當前對象選為Label1,過程中選Click事件,在代

碼編輯窗口中輸入This.C叩tion="學習要勤奮”,如下圖。

7)過程中選DblClick事件,在代碼編輯窗口中輸入This.Caption="歡送新同學〃

8)將當前對象選為Commandl,過程中選Click事件,在代碼編輯窗口中輸入

ThisForm.release

9)關閉代碼窗口

1。)保存

文件一保存,或常用工具欄保存按鈕,翻開另存為對話框一輸入表單名P6」f保存

11)執(zhí)行表單

單擊常用工具欄的運行按鈕

控件的操作與布局

1.控件操作

(1)在表單中放置控件

翻開表單設計淵和表單控件工具欄,單擊表單控件工具欄中的所需控件如命令按鈕,

然后在表單適當的位置調整成適當的大小。如圖6.20。

D]a?W,--?21?!ac??t匕―,?京

圖6.20

(2)控件在表單中的復制與粘貼

選表單中已存的控件,如Commandl-右犍翻開快捷菜單-*選擇復制一在表單適當的位

置翻開快捷菜單項選擇擇粘貼。假設位置不理想,可以通過拖拽的方式移動控件。

(3)調整大小

選需要調整大小的控件如Command1,可用拖拽控件四周的8個黑色方塊來調整大小。

也可以通過屬性設置來調整控件的大小??丶膶挾葘傩詾閃idth,高度屬性為Heiht,左上

角坐標屬性為Leif和Top。

(4)刪除控件

選中要刪除的控件一Del鍵。

(5)在表單中放置多個同類的控件

單擊表單,具欄上的鎖定按鈕,然后選定要添加的控件,此時可反復添加多個相同的

控件。再次單擊鎖定按鈕可取消鎖定。

2.控件的布局

翻開布局工具欄,如圖6.21所示。要使用布局工具欄中的按鈕的功能,先要對表單進

行多重選定。

布局

DDI舟<0

回國囹

ES回電

圖6.21布局工具欄

多重選定就是同時選中兩個以上的控件,選擇方法為先按住shifi鍵,再用鼠標單擊選

擇的控件或用鼠標拖拽的方法將所要選的控件選中。

如圖6.22所示表單中有兩個命令按鈕,假設要使它們兩個左對齊可同時選中兩個控件,

單擊布局工具欄的左對齊按鈕即可。

圖6.22多重選定控件

數據環(huán)境

數據環(huán)境要在表單翻開的情況下使用,當表單關閉或釋放時它就關閉。

1.翻開數據環(huán)境設計器

有三種方法:

(1)顯示一數據環(huán)境

(2)單擊表單設計器工具欄中的數據環(huán)境按鈕

(3)在表單設計器中的空白處按右鍵,翻開快捷菜單一數據環(huán)境。如圖6.23所示。

據環(huán)境設計駕■Znx

圖6.23數據環(huán)境設計器

2.向數據環(huán)境設計器中添加表或視圖

數據環(huán)境一添加,或在數據環(huán)境設計器的空白處按右鍵一添加,翻開添加表或視圖對

話框如圖6.23所示一其他,翻開翻開對話框,選表一確定一在數據庫和表列表中選表一添

加。

3.數據環(huán)境中關系的設置

假設添加的多個表之間己建立過關系,那么在數據環(huán)境設計器中還保持且顯示這些關

系。假設表之間沒有關系可建立關系,方法是將表設計器翻開先對主表和子表建立相應的

索引,用前面講過的方法,將主表的主關鍵字段或侯選關鍵字段拖到子表相應子段上即可。

刪除關系即選定關系連線按Del鍵。

4.從數據環(huán)境設計器中移去表或視圖

選要移去的表或視圖一數據環(huán)境,或單擊右鍵翻開快捷菜單一移去。

5.向表單中添加字段

假設將整個表的字段添加到表單中,可在數據環(huán)境設計器中拖住要添加表,將其放置

到表單的適當位置。假設要將某個字段放到表單中,那么要在數據環(huán)境中選中此表對應的

字段名放到表單的適當位置。數據環(huán)境的作用主要就是向表單中添加字段。

例6.2設計一個表單,它可以對表進行瀏覽、編輯、并可以釋放表單(即退出),界面

如圖6.24所示。

圖6.24例6.2表單

步驟:

(1)翻開表單設計器與數據環(huán)境設計器

⑵將學生表添加到數據環(huán)境設計器中

(3)然后將學生表中的字段拖放到表單中。

(4)按圖6.24建立界面與設置相應屬性

(5)Forml的Init事件代碼

thisformmandl.enabled=.t.

thisformmand2.enabled=.t.

thisformmand3.enablcd=.t.

thisformmand4.enabled=.t.

thisformmand5.enabled=.t.

thisformmand6.enabled=.t.

"Enabled屬性是按鈕是否可用默認值為.T.代表可用。

(6)Commandl的Click事件代碼

gotop

thisformablcd=.f.

thisformmand3.enabled=.t.

thisform.refresh

(7)Command2的Click事件代碼

if!bof()

skip-1

else

gotop

endif

thisformablcd=.t.

thisform.refresh

(8)Command3的C1ick事件代碼

if!eof()

skip

else

gobott

endif

thisfbrmmand2.enabled=.t.

thisform.refresh

(9)Command4的Click事件代碼

gobottom

thisformmand2.enabled=.t.

thisformmand3.enabled二.f.

thisform.refresh

(10)Command5的Click事件代碼

browse

(11)Command6的Click事件代碼

thisform.release

設置屬性與編輯代碼

由例6.1已對表單的設計步驟與方法有了一個根本的了解,現在對設置屬性與編輯代碼

作進一步的介紹。

1.設置屬性

(1)在屬性窗口的對象卜?拉列表框中選要設置屬性的對象

(2)在屬性列表框中找到要設置的屬性并選中該屬性

(3)在屬性設置框中輸入具體設置的屬性值

2.編輯代碼

(1)翻開代碼窗口的方法

1)單擊表單設計器工具欄中的代碼窗口按鈕

2)雙擊表單工作區(qū)任意位置

(2)在對象下拉列表框中選要編輯代碼的對象

(3)在過程下拉列表框中選要編輯的代碼對象的事件或方法

(4)在代碼編輯區(qū)中輸入相應的代碼

(5)關閉代碼編輯窗口,有兩種方法;

1)單擊表單設計器工具欄中的代碼窗口

2)單擊代碼窗口中的關閉按鈕

表單的修改與運行

1.表單的修改

(1)翻開表單設計器

文件一翻開,或常用工具欄翻開按鈕,翻開翻開對話框一在文件類型中選表單一在文

件列表中選要修改的表單一確定

(2)對表單進行修改

1)如果對表單中已有控件對象修改,方法與設置屬性和編輯代碼相同。

2)如果在表單中創(chuàng)立新的控件對象,可在表單控件工具欄中選中控件放到表單中,然后

對該對象進行屬性設置和代碼編輯。

3)假設要刪除表單中的控件,選中該控件按Del鍵。

2.表單的運行

4種方法:

(1)單擊常用工具欄中的運行按鈕

(2)表單一執(zhí)行表單

⑶執(zhí)行表單(6.2節(jié)介紹)

(4)用命令執(zhí)行表單

格式:DOFORM<表單名〉

功能:執(zhí)行由表單名指定的表單。

如運行P6_1.scx,可以在命令窗口中輸入DOFORMP6_U

6.4常用表單控件

標簽控件

標簽控件屬于輸出類控件,用于顯示文本。它常用屬性如表6.6所示。

表6.6標簽常用屬性

屬性用途默認值

Caption標題,用于顯示文件Label

Autosize是否隨標題文本大小調整.F.

Alignment指定標題文本控件中顯示的對齊方式0左對齊,1右對0

齊,2中央對齊

Borderstyl設置邊框樣式0無邊框,1有固定單線邊框0

e

BackStyle標簽是否透明0為透明,1為不透明1

ForcColor設置標題文本顏色,0,0,。為黑色,255,255,255為0,0,0

白色

WordWap標題文本是否換行.T.換行,.F.不換行.F.

FontName設標題文本字體類型宋體

FontSize標題文本字體大小9

例6.3計算1+2+3…+1()0的和。表單界面如圖6.25,表單中包含三個標簽控件。

圖6.25例6.3表單

步驟:

(1)按圖6.3設置界面與屬性

(2)Label2的Click事件代碼

s=0

fori=lto10()

s=s+i

endfor

thisform.label2.caption=thisform.Iabel2.caption+str(s)

thisform.refresh

(3)Label3的Click事件代碼

thisform.release

命令按鈕

命令按鈕用來觸發(fā)事件,完成特定的功能,常用屬性如表6.7所示。

表6.7命令按鈕的常用屬性

屬性用途默認值

Caption標題Command!

Enabled按鈕是否有效,.T.有效,.F.無效.T.

Default是否為默認按鈕,.T.是,.F.不是.F.

Cancel是否取消按鈕,.T.是,.F.不是.F.

Visual按鈕是否可見,.T.可見,.F.不可見.T.

Picture設置圖形文件,使按鈕為圖形按鈕(無)

例6.4計算1()!表單如圖6.26所示,表單中有兩個標簽和兩個按鈕。

圖6.26例6.4表單

步驟:

(1)按圖6.4設置界面和屬性。

(2)計算按鈕的click事件代碼。

t=l

fori=1to10

t=t*i

endfor

thisform.label2.caption=thisform.label2.caption+str(t)

thisfonn.refresh

(3)退出按鈕click事件代碼。

thisfonn.release

(4)執(zhí)行。

命令按鈕組

1.常用屬性

命令按鈕組是容器控件,常用屬性如圖6.8所示。

表6.8命令按鈕組常用屬性

屬性用途默認值

ButtonCount設置命令按鈕組命令按鈕的數目2

Button用于存取命令按鈕組中各按鈕的數目0

Value指定命令按鈕組當前的狀態(tài),當屬性值為數值型時,假設為N1

表示

第N個按鈕被選中。當屬性值為字符型時,假設為字符型值C,

表示命令按鈕組中Caplion值為C的命令按鈕組被選中。

2.命令按鈕組生成器

翻開命令按鈕組,選命令按鈕組一右鍵。翻開快捷菜單一生成器,如圖6.27所示。

圖6.27命令組生成器

⑴按鈕選項卡

①按鈕的數目可用微調控件設置,

②標題可用表格設置,即可含文本也可含圖形。

(2)布局選項卡

如圖6.28所示,可對命令按鈕組進行布局,間隔邊框樣式進行設置。

圖16.28命令組生成器布局選項卡

3.編輯命令按鈕組

選擇命令按鈕組一右鍵,翻開快捷菜單一編輯。命令按鈕組周邊有綠色邊界,此時可

對命令按鈕組中每一個按鈕依次設置屬性。

例6.5將6.2題用命令按鈕組做。

步驟:

(1)按圖6.24所示建立界面與屬性。

(2)Forml的Init事件代碼。

fori=lto6

thisformmandgroup1.buttons(i).enablcd=.t.

endfor

(3)Cmmandgroup1的click事件。

n=this.value

docase

casen=l

gotop

this.buttons(2).enabled=.f.

this.buttons(3).enabled=.t.

casen=2

if!bof()

skip-I

else

gotop

endif

this.buttons(3).enabled=.t.

casen=3

if!eof()

skip

else

gobottom

endif

this.buttons(2).enabled=.t.

casen=4

gobottom

this.buttons(2).enabled=.t.

this.buttons(3).enabled=.f.

casen=5

browse

casen=6

thisform.release

endcase

thisform,refresh

文本框控件

文本框控件是根本控件,可以輸入,編輯數據。它可以處理除備份字段類型的數據,

一般包含一行數據,在接受字符型數據時,最多255個字符。

1.常用屬性

表6.9文本框常用屬性

屬性用途默認值

ControlSours指定文本框的數據源,數據源可為字段或內存變量(無〕

e

Value指定文本框的值(無)

Passwordchar指定文本框的定位符,即當向文本框輸入數據時不顯(無)

示真實的數據而顯示定位符。

InputMask用來指定數據的輸入格式和顯示方式,屬性值為一個(無)

字符串,字符串由掩碼組成如表2.2所示。

2.文本框生成器

翻開生成器

選文本框一右鍵,翻開生成器,如圖6.30所示。

圖6.30文本框生成器格式選項卡

⑴格式選項卡

用于指定文本的格式,輸入掩碼等。

(2)樣式選項卡

用于指定文本框排列方式,如圖6.31所示。

圖16.31文本框生成器樣式選項卡

⑶值選項卡

用字段下拉列表框中的列表來指定表或視圖的字段,并用該字段存文本框的內容。

例6.6求n!表單如圖6.33所示:

圖6.33例6.6表單

(1)按圖6.33設置界面與屬性,textl與text2的value設為0。將text2的Enabled設為F。

(2)計算Command1的Click事件代碼。

t=l

fori=lton

t=t*i

endfor

thisform.label2.caption=str(n)+"!"

thisform.text2.value=t

thisform,refresh

(3)退fl'Command?的Click事件代碼。

thisform.release

此題的Tcxtl控件按題意是數值型的,因此將它的value設為0,以后在例題中假設有Text

控件只要題要求是數值型的,一定要先將value設為數值。

編輯文本框

編輯框可用于輸入、顯示、編輯數據。它只能編輯字符型數據,可編輯長的字符型字

段數據,備注字段數據,字符型內存變量數據,它可以編輯單行與多行數據。它最多能接

受2147483647個字符。

表6.10編輯文本框常用屬性

屬性用途默認值

Value用來指定控件的狀態(tài)(無)

Readonly是否為只讀,.T.為只讀,.F.可編輯.F.

Scrollbar是否有滾動條,0無,2垂直滾動條2

Seistart返回用戶在編輯框中所選文本的起始位置,取值范0

圍:()~編輯框中字符總數

Seilength返1口1用戶在文本輸入區(qū)中選定的字符數目,或指定0

要選定的數目。

Scltcxt返回選定的文本,假設無選定文本,返回菜單。0

Hideselection使用焦點時是否隱藏選定標記,.T.隱藏,.F.不隱藏.T.

例6.7設計一個表單,完成如圖6.34所示功能

圖6.34例6.7表單

⑴按圖6.34所示設界面與屬性

(2)commandgroup1的click事件代碼

n=this.value

docase

casen=1

thisform.edit1.value=""

casen=2

thisform.cdit2.value=M"

casen=3

thisform.edit2.value=""

casen=4

thisform.edit1,value=""

casen=5

thisform.edit1.value=t

casen=6

thisform.release

endcase

thisform.refresh

例6.8表單如圖6.35所示。

圖6.35例6.8表單

在edil中輸入一行或多行字符串,在texll中輸入字符串2,查找字符串2是否在edill

中存在,假設存在,用text2中字符串3替換。

分別在editl、textl、text2中輸入字符串,editl中字符串一行或多行。在edit1中查找

tcxtl,假設存在,用text2內容替換。

(1)按圖6.35設界面及屬性,將editl的Hideselection設為.F.,以顯示選定標記。

(2)commandgroupl的click事件代碼

n=this.value

a=alll(thisform.edit1.value)

b=allt(thisform.text1.value)

b=allt(thisform.textl.value)

c=allt(thisform.tcxt2.value)

docase

casen=l

m=at(b,a)

ifm<>0

thisform.edit1.selstart=m-1

thisform.edit1.sellength=len(b)

else

messagebox("沒查到!”)

cndif

casen=2

ifthisform.editl.seltext=b

thisfbrm.edit1.seltext=c

else

messagebox("沒查到,不能替換?,)

endif

casen=3

thisform.release

endcase

thisform.refresh

復選框控制

用于在軟件中提供應用戶一種或多種選擇,以便滿足用戶的要求。復選框是一個邏輯

框,它只有兩種狀態(tài)值:一種為.工,表示選上;一種為.F.,表示沒選上。

1.常用屬性

如表6.11所示。

表6.11復選框常用屬性

屬性用途默認值

caption方框右側的文本Checkbox1

值。當。或.F.表示未選中,1表示被選0或.F.

中,2或null表示不確定

conirolsource數據流(無)

例6.9設計一個程序界面如圖6.36所示,對人的能力測試。要求:1、3項必選,就顯

示:“您是一個全面開展的人!〃,否那么顯示“您要繼續(xù)努力〃

(1)設置界面與屬性如圖6.36所示

圖6.36例6.9表單

(2)確定command1的click事件代碼

ifthisform.checkl.value=1.and.thisfbrin.check3.value=l

messagebox("您是一個人面開展的人!”)

else

messagebox("您要繼續(xù)努力!")

endif

(3)退出

thisform.release

例6.10統(tǒng)計學生認輸,按圖6.37所示要求作。

⑴按圖6.37所示建立界面與屬性

圖6.37例6.1。表單

(2)在數據環(huán)流中添學生表

(3)統(tǒng)計command1的click事件

xl=0

x2=0

yl=,,u

y2b

ms=""

ifthisform.chcck1.value=1

countfor性別二'男'tox1

y""男生人數:"

ms=ms+yl+str(xl)

endif

ifthisform.check2.value=1

counlfor性別女,tox2

y2T女生人數1

ms=ms+y2+str(x2,3)

endif

thisform.label2.caption=ms+"共有"+str(xl+x2)+"人"

thisfonn.refresh

(4)退出command的click事件代碼

thisform.release

選項鏈接組

它是一個容器控件,包含多個選項組,用于在多種功能或多種條件下,用戶只能選擇

其中的一個功能或條件。選項按鈕有生成器,可通過生成器對各按鈕屬性設置??丶?/p>

器翻開方法是一樣的,就是選控件一一右鍵翻開快捷莢單一一生成器。以后生成器的翻開

方法就不再表達了。對各按鈕屬性設置也可選控件一一右犍一一編輯,控件周圍出現綠色

邊界,依次對每個按鈕屬性設置。

表6.12選項組成用屬性

屬性用途默認值

Buttoncount指定選項組按鈕中按鈕數目2

假設值為數值型n,表示第n個按鈕被選中,假設為字符型

Value1

c,表示caption屬性值為c的按鈕被選中。

Controlsource指定數據源(無)

Buuons存取選項按鈕組中每個按鈕的數組0

例6.11統(tǒng)計學生成績表中相關課程的平均分

⑴按圖6.38設界面與屬性。

圖6.38例6.11

(2)在數據環(huán)流中添加學生成績表。

(3)統(tǒng)計commendl的click事件代碼。

settalkoff

store0tox1,x2,x3,x4,x5.x6

ms=”平均分:“

docase

casen=l

average學生成績.數學toxl

y="數學”

ms=y+ms+str(xl)

casen=2

average學生成績.VFPtox2

y="VFPM

ms=y+ms4-str(x2)

casen=3

average學生成績.英語tox3

y二“英語”

ms=y+ms+str(x3)

endcase

thisfonn.label2.caption=ins

thisform,refresh

(4)退出command2的click事件代碼。

thisform.release

例6.12完成如圖6.39所示的功能。在textl中輸入x,能選擇計算出對應y值

(1)按圖639所示建立界面與屬性,textl的value為0

圖6.39例6.12

⑵form1的active事件代碼

(3)選項組按鈕optiongroupl的click事件代碼

n=this.value

docase

casen=l

y=2*x+l

casen=2

y=l()

casen=3

y=6*x-l

endcase

thisform.label2.caption='x="+str(x)+"時計算結果:"+"y="+str(y)

thisform.refresh

(4)退出command1的click事件代碼

thisform.release

列表框控件

列表框是用于顯示工程的列表,用戶可以在列表框中選擇一項或多項。列表框也有生

成器。翻開方法選中控件的快捷菜單中一一生成器即可。

1.列表框常用屬性

如表6.13所示

屬性用途默認值

Value返回列表框中被選擇的工程。假設為N型數據返回工程次(無)

序號,假設為C型數據返回工程內容

Listcount指定列表框中工程數1

List用來存取工程的字符串數組,形式為控件對象.List(〈行>[.

列])

Columncount指定列數0

controlsource指定數據源(無)

select指定工程是否被選定。.t.為選定,.f.為沒選定.F.

Multiselect是否允許多重選擇。.1.或1允許,.1?為沒選定.F.或0

Rowsourcetype0:(無),在程序中用additem向列表框中添加工程0-(無)

1:值,用手工指定工程如rowsource="aaa,bbb,ccc"

2:別名,將表中字段作為工程,由columncount指定取字段

數目

3:SQL語句,將select查詢結果作為工程

4:查詢(.qpr),將select查詢結果作為工程

5:數組,將數組內容作為工程

6:字段,將表中字段作為工程

7:文件,將文件作為工程

8:結構,將表結構作為工程

9:彈出式菜單,將彈出式菜單作為工程

2.常用方法

如表6.14所示:

表6.14常用方法

方法用途

Addlistitem在rowsourcelype為0時為列表框添加器,形成addlistitem(工程值,[v行〉,

<列>])

Rcmovcitcm從rowsourcetype為0,列表框中刪除一項

Clear去除表中各項

Nequery當rowsource值改變時,更新列表

例6?13設計如圖6.40表單,在選中列表框中工程后,單擊“計算〃,可計算出

的值,1取值為1~100

⑴按圖6.40設置界面與屬性。Columncount為3,即3歹ij,columuline為.F.,即列無分

隔線,columnwidth為40,60,各列寬度,nowsourcetype為0

圖6.40例6.13

⑵form1的init事件代碼

fori=1to100

a=allt(str(i))

thisform.listi.addlistitem(a,i,1)

a=allt(str(i*i))

thisform.listi.addlistitem(a,i,2)

a=allt(str(i*i*i))

thisfonn.list1.addlistitem(a,i,3)

endfor

a=allt(str(i))

thisform.refresh

(3)計算command1的click事件代碼

store0tox,y,z,s

fori=lto100

ifthisform.listi.selected(i)

x=val(thisform.listl.list(i,1))

y=val(thisform.listl.list(i,2))

z=val(thisform.list1.lisl(i,3))

s=x+y+z

exit

endif

endfor

thisform.labeI2.caption=str(x,3)+"+"+str(y,4)+"+"+str(z,6)+,-"+str(s,8)

thisform.refresh

(4)退出command2的click事件

thisform.release

例6.14表單如圖6.41所示,在listl中顯示學生表的姓名字段,中選定一個學生姓名

右側將顯示該學生信息

(1)將學生表加到數據流中

(2)按圖6.41所示建立界面與屬性。Listl的rowsourcetype設為6,rowsource選學生姓

圖6.41例6.14

(3)list1InterActivechange事件代碼:

thisform.refresh

(4)退出command1的click事件代碼

thisfbrm.release

組合框

組合框也是一種列表框,它有兩種形式:一種是下拉式列表框與列表框一樣,另一種

為下拉式組合框。下拉式組合框可以在列表框中選項,也可以輸入一個值。組合框所常用

的屬性與方法與列表框根本相同,但組合框沒有多項選擇擇屬性,即沒有mulLselect屬性。

它有一個重要屬性就是style,用途如表6.15所示:

表6.15slylle沒組合框形式屬性

屬性值用途

0下拉組合框??稍诹斜碇羞x項,也可輸入。是默認值。

1下拉式列表框。

例6.15設計一個用戶登錄界面,如圖6.42所示,要求建立一個passx.dbf結構與內容

如表6.16所示

表6.16passx.dbf

用戶名c(16)口令c(10)

王小麗Wxll23

劉志峰123456

李華明Lqqil2

趙鳳玲Efl256

Commbl的數據來源為passx.dbf中的姓名字段。假設口令輸入正確顯示合法用戶“歡

送使用!〃否那么顯示“登錄失敗,非法用戶〃

圖6.42例6.15

⑴將passx.dbf添到數據環(huán)流中

(2)按圖6.42建立界面與屬性,將combo1的rowsourcetype設為6,Rowsource設為

passx.dbf,用戶可將textl的passwordchar設為*

(3)登錄command1的click事件代碼

ifallt(thisform.text1.value)=allt(口令)

messagebox("合法用戶,歡送使用!")

else

messagebox("登錄失敗,非法用戶!")

endif

(4)取消command?的click事件代碼

thisform.release

表格

表格是一種容器對象,它是按行列顯示數據,外觀與瀏覽窗口相似。

1.常用屬性

如表6.15所示:

屬性用途默認值

Columncount指定表格列數-1

Linkmastcr指定表格中顯示子表為父表名(無)

recordsourcetype0:表。數據來源于由recordsource指定的表,該表能自1

動翻開

1:別名。數據來源于已經翻開的表,由recordsource指

定該表別名

3:查詢。(.qpr)o數據來源于查詢,由recordsource指定

一個查詢文件。

4:SQL語句。數據來源于SQL語句,由recordsourcc指

定一條SQL語句

2.表格的組成

表格是由假設干個列組成。列是由標題和列控件組成。列有自己的屬性和方法、事件,

因此表格用起來很靈活。

3.表格生成器

翻開表格生成潛:一一選表格一一右鍵翻開快捷菜單一一生成器即可,如圖6.43所示:

(1)表格項選項卡

用于指定在表格中顯示的字段

(2)樣式選項卡

用于指定表格顯示樣式

(3)布局選項卡

主要用于指定列標題和表示字段值的控件。

(4)關系選項卡

用來指定兩表之間的關系

例6.16在例6.5中增加一個表格作為瀏覽窗口如圖6.44所示。要求是在表格中選一行

時左側顯示該行記錄的全部信息。

(1)翻開數據環(huán)流,此時學生表已經存在界面了

(2)按圖6.44建立主界面與屬性

(3)翻開表格生成器:選表格一一右鍵,翻開快捷菜單一一生成器,如圖6.43所示(假

設數據庫和表列表中無需要的表一一3點,翻開對話框選表即可)一一選學生表一一將可

用字段到選定字段中一一確定。

(4)表格Gridl的AfterRowcoLchange事件代碼

LPARAMETERSnCoLIndex&&此代碼為系統(tǒng)固有

thisform.refresh

(5)在commandgroupl的click事件最后增加假設干命令

頁框

頁框是一種容器對象,頁框中包含頁面即頁,而頁中又可以包含其他控件。其實頁框

就是選項卡對話框。頁框實表單的有限容量間進行擴展。

1.常用屬性

如6.16所示。

表6.17頁框常用屬性

屬性用途默認值

PageCount指定頁框中包含的數量,取值范圍:992

Pages用于存取頁對象的班組0

Tabs指定頁框中是否顯示頁標簽欄,.T.為有頁標題欄,.F..T

為沒有

Tabstredt1當頁標題1標簽)文本很長時,確定是否為多行顯示,1

0為多行顯示,1為平行顯示多余的截去。

ActivePage用來返1可或指定激活頁號。如PagelramelAvlivePage=31

第3天激活,§0x=PageFramel,activePage返回激活頁

號給X.

Tabslyle頁框中頁是否調整。0,調整每個頁寬度,容納整個標0

題,1,不調整每個頁寬度來容納頁標題

2.編輯頁框

選頁框一一右鍵,翻開快捷菜單一一編輯,在頁框周遍出現綠色邊界,此時可對頁框

中的每個頁進行編輯。

例6.17按如圖6.45所示設計菜單

圖6.45例6.17

(1)按圖6.45所示設計界面與屬性。即選頁框一一右鍵,翻開快捷菜單一一編捐,分別

對Pagel與page設置控件與屬性。

(2)pagel中計算command1的click事件代碼

t=l

fori=lton

t=t*I

endfor

thisform.pageframel.label2.caption=str(n)+//!=〃+str(t)

(3)pagc2中計算command1的click事件代碼

s=()

fori=lton

s=s+i

endfor

thisfonn.pageframeI.page2.1abcl2.caption=//1+2+…+str(n)+〃=〃+str(s)

(4)進入一頁command1的click事件代碼

thisfonn.pageframe1.activepage=1

(5)進入笫二頁command?的click事件代碼

thisform.pageframe1.activepage=2

(6)form1的Init事件代碼

thisform.pageframe1.pages(1).caption="計算n!”

thisform.pageframe1.pag?s(2).caption=”計算1+2+...-n"

注意:假設己直接在屬性窗口中己將兩個頁標題設完,5步就不用了。

例6.18表單如6.46所示,在Pagel中要求在組合框中選一個學生姓名,右側將此學生

詳細情況列出,在page2中要求瀏覽窗口上顯示學生內容

圖6.46例6.18

⑴將學生表加到數據環(huán)境中

(2)按圖6.46設界面與屬性,將combol的RowSourceType設為6,將RowSource設為

學生、姓名

(3)combol的Interactivechange事件代碼,thisform>pageframe1>page1>refresh

(4)將數據環(huán)境中的學生表整體拖入pagc2中。

Interactivechange事件是在用戶用鍵盤或鼠標修改控件值時發(fā)生。每當對象被復制更改

時就發(fā)生。

計時器與微調器

1.計時器

計時器是用語在程序中按一定的時間

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論