第5章根據任務選擇合適的控件_第1頁
第5章根據任務選擇合適的控件_第2頁
第5章根據任務選擇合適的控件_第3頁
第5章根據任務選擇合適的控件_第4頁
第5章根據任務選擇合適的控件_第5頁
已閱讀5頁,還剩67頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、數據庫原理與應用信息學院 軟件教研室理論教學課后習題與上機實驗本章要點回顧學習提要與目標返回返回(3)AutoSize確定控件是否根據其內容的長度自動調節大小設置值為邏輯值 .t. , .f. 缺省值為.T.(4)Left用于確定控件距離其父對象最左邊位置。(5)Top用于確定控件距離其父對象最上邊緣距離(6)Height用于確定某控件的高度(7)Width用于確定某控件的寬度(8)BackColor確定對象的背景顏色(9)ForeColor確定對象的文字顏色(10)BackStyle確定對象的背景色是否透明,設置值為0,1(11)FontName顯示文本時使用的字體(12)FontSize顯

2、示文本時使用的字體的大小(13)Visible確定對象是否可見(14)WordWrap確定顯示的文本是否隨邊界自動折行1,主要功能在表單上顯示圖片2,主要屬性(1)Picture用于確定顯示在控件中的圖片文件(.bmp、.jpg、.gif)(2)Stretch用于對圖片內容的處理以適應承載控件的大小Stretch0 剪裁Stretch1 等比填充Stretch2 變比填充1,主要功能線條:在表單上顯示直線形狀:在表單上顯示矩形、橢圓或圓2,主要屬性(1)CurvatureCurvature取值范圍099Curvature=0 矩形Curvature99 圓或橢圓(2)FillColor確定形狀

3、指定背景填充方案填充色(3)FillStyle確定形狀是否透明(4)SpecialEffect確定形狀是否三維,僅當Curvature0時有效(5)BorderWidth線寬為多少象素使用表單的方法程序,在表單上畫圓、線、點或顯示文本方法程序:Circle 在表單上畫一個圓Cls 清除表單上的圖形或文本Line 在表單上畫線Pset 在表單上畫一個點Print 在表單上顯示文本表單Click事件代碼:THIS.DRAWWIDTH=3THIS.PRINT(“顯示圓、點、線”)THIS.CIRCLE(50,100,100)THIS.LINE(0,150,150,150)THIS.PSET(100,

4、100)命令按鈕命令按鈕Command1,主要功能點擊命令按鈕,執行Click事件中的特定代碼2,主要屬性AutoSizeCaptionForecolorFontNameFontSizeEnabledVisible3,命令按鈕的事件(1)Click事件當點擊命令按鈕時發生Click事件命令按鈕Click事件代碼:ThisForm.Label1.ForeColor=RGB(255,0,0)ThisForm.Label1.FontSize=24(2)GotFocus通過用戶操作或執行程序代碼使對象接收到焦點時,此事件發生當鼠標點擊控件或在事件代碼中使用設置焦點方法SetFocus,可發生GotFo

5、cus事件,從而執行事先編好的代碼(3) SetFocus通過代碼設置某控件得到焦點命令按鈕組命令按鈕組CommandGroup將多個命令按鈕組成一組,通過組來管理命令按鈕。1,命令按鈕組的常用屬性:(1)ButtonCount指定命令按鈕組中包含的按鈕數(2)Buttons()用于訪問按鈕組每一個按鈕的數組,數組下標從1BuutonCount(3)Value可以指定用戶點擊了命令按鈕組中的哪一個按鈕。Value返回值為命令按鈕在組中的次序號(1,2,3。)2,命令按鈕組的主要事件和方法主要事件:Click通過命令按鈕組設置文本字體顏色:通過命令按鈕組設置文本字體顏色:Do case case

6、 this.value=1 thisform.label1.forecolor=rgb(255,0,0) case this.value=2 thisform.label1.forecolor=rgb(0,255,0) case this.value=3 thisform.label1.forecolor=rgb(0,0,255)Endcase主要方法:SetAll-同時設置一組對象的某屬性值ThisForm.CommandGroup1.SetAll(“Visible”,.F.)例例5.2 :學生信息瀏覽:學生信息瀏覽 PAGE234y=我們通過命令按鈕可查閱學生數據新建一個表單新建一個表單在

7、表單的數據環境中添加學生表在表單的數據環境中添加學生表通過拖動方式,將學生表字段拖到表單上通過拖動方式,將學生表字段拖到表單上在表單上添加命令按鈕組在表單上添加命令按鈕組編寫相應事件代碼編寫相應事件代碼表單的表單的Init事件代碼:事件代碼:this.caption=學生信息查詢表單c=首記錄 前翻 后翻 末記錄 退出 for i=1 to 5 mandgroup1.buttons(i).caption=substr(c,6*(i-1)+1,6)endfor命令按鈕組的Click事件代碼:do case case this.value=1 go top mand1.enabled=.f. ma

8、nd2.enabled=.f. mand3.enabled=.t. mand4.enabled=.t. case this.value=2 and !bof() skip -1 if bof() mand1.enabled=.f. mand2.enabled=.f. endif mand3.enabled=.t. mand4.enabled=.t. case this.value=3 and !eof() skip if eof() mand3.enabled=.f. mand4.enabled=.f. endif mand1.enabled=.t. mand2.enabled=.t. cas

9、e this.value=4 go bottom mand1.enabled=.t. mand2.enabled=.t. mand3.enabled=.f. mand4.enabled=.f. case this.value=5 thisform.releaseendcasethisform.refresh一,文本框一,文本框Text文本框可以顯示數據也可以用于輸入數據常用屬性:常用屬性:(1)Value用于引用或更改文本框中的文本(2)ControlSource文本框與變量或字段綁定(3)SelectOnEntry當文本框得到焦點后選擇文本,取值:.T.,.F.3(4)InputMark輸入

10、掩碼 具體見page 237(5)DateFormat確定文本框中日期的顯示格式(6)PasswordChar當用文本框來輸入密碼時,用指定的字符來掩飾真實密碼3,文本框的常用事件(1)Valid事件驗證文本框中數據的有效性例:輸入口令后驗證口令是否正確例:輸入口令后驗證口令是否正確If This.Value!=“Mypassword” =MessageBox(“ 口令錯誤!”)Else =MessageBox(“ 口令正確!”)Endif二,編輯框二,編輯框Edit Page 240編輯框用于顯示或輸入多行數據編輯框用于顯示或輸入多行數據-顯示或輸入學生簡歷顯示或輸入學生簡歷常用屬性:常用屬

11、性:(1)ControlSource編輯框與變量或字段綁定編輯框與變量或字段綁定(2)SelLength、SelStart、SelText從編輯框選擇其中的文本從編輯框選擇其中的文本SelLength 選擇文本的長度選擇文本的長度SelStart 選擇文本的起始位置選擇文本的起始位置SelText 選擇的內容選擇的內容ThisForm.Edit1.SelStart=0ThisForm.Edit1.SelLength=AT(。,ThisForm.Edit1.Text)-1(選擇文本框中的第一句文本選擇文本框中的第一句文本)三,應用示例三,應用示例設計如下學生數據查詢表單:設計如下學生數據查詢表單

12、:當在文本框輸入一個同學姓名后,自動到學生表中查找是否當在文本框輸入一個同學姓名后,自動到學生表中查找是否有該同學,有該同學,有該同學,則顯示該同學數據;否則,顯示查無此人。有該同學,則顯示該同學數據;否則,顯示查無此人。設計方法:設計方法:新建一個表單在表單的數據環境中添加學生表將學生表中的字段拖到表單上添加文本框EDIT1到表單設置表單的標題1. 編寫文本框EDIT1的Valid事件locate for alltrim(this.value)=alltrim(學生.姓名)if not found() Messagebox(查無此人!)else thisform.refreshendif文本

13、框文本框Text1的的Valid事件:事件:v微調微調Spinner功能功能:用戶可通過鼠標上下調節數值主要屬性:主要屬性:Increment 增量SpinnerHighValue 可調節的最大值SpinnerLowValue 可調節的最小值主要事件:主要事件:UpClick 向上按鈕事件DownClick 向下按鈕事件例:通過微調來調節日期微調事件微調事件Upclick事件:事件:thisform.text1.value=thisform.text1.value+1Downclick事件:事件:thisform.text1.value=thisform.text1.value-1一,選項組一

14、,選項組Optiongroup1,選項組,選項組Optiongroup主要功能:主要功能:選項按鈕組是一個容器,用戶可以在多個選項中選擇一項2,選項按鈕組的常用屬性,選項按鈕組的常用屬性(1)ButtonCount選項按鈕數目(2)Buttons( )引用其中的一個按鈕(3)Value當選項按鈕組選中了其中一個按鈕后,Value 屬性反映該按鈕的次序號(同命令按鈕組的Value 屬性)每一個選項的文本可由其Caption屬性進行設置3,常用事件,常用事件Click事件事件在選項按鈕組的Click事件中可通過DO CASE -ENDCASE語句判斷選項組的Value屬性值,可以知道用戶選擇了哪一

15、個選項例:通過選項按鈕組選擇表單的背景顏色例:通過選項按鈕組選擇表單的背景顏色 圖圖5.31 page 248設置選項按鈕組的設置選項按鈕組的Click事件:事件:do case case this.value=1 thisform.backcolor=rgb(255,0,0) case this.value=2 thisform.backcolor=rgb(0,255,0) case this.value=3 thisform.backcolor=rgb(0,0,255) case this.value=4 thisform.backcolor=rgb(255,255,0) case thi

16、s.value=5 thisform.backcolor=rgb(255,255,255) case this.value=6 thisform.backcolor=rgb(0,0,0) endcase 二,列表框與組合框二,列表框與組合框列表框與組合框用于顯示多行數據列表框與組合框具有相同的屬性、方法和事件,組合框在鼠標點擊后下拉列表列表框與組合框常用屬性:列表框與組合框常用屬性:(1)填充列表框與組合框RowSourceType 選擇數據來源類型RowSource 行數據源列表框與組合框的數據來源由此兩項決定RowSourceType 選擇數據來源類型可有10種選擇 見page 250常用

17、:RowSourceType=6(字段) 使用表中的字段RowSource=姓名RowSourceType=0(無) 可使用Additem()方法添加數據:Scan this.additem(姓名)endscan3,常用事件方法,常用事件方法方法:(1) Additem( )方法 將學生的獎學金數據放入列表框:將學生的獎學金數據放入列表框:Use 學生Thisform.list1.rowsourcetype=0Scan for 獎學金0 thisform.list1.additem(str(獎學金,6)Endscan將學生表的字段名放入組合框將學生表的字段名放入組合框:Use 學生Tbo1.r

18、owsourcetype=0For I=1 to fcount( ) bo1.additem(field( )Endfor(2)RemoveItem( )方法將列表框與組合框中一項數據刪除格式:控件.RemoveItem(nindex)Nindex數據項在指定控件中的排列位置Thisform.list1.removeitem(this.listindex)Thisform.refresh(3)clear方法清除列表框或組合框中數據Thisform.list1.clear(4)Requery方法從新查詢列表框或組合框的數據來源Thisform.list1.requery返回返回三,復選框三,復選

19、框Check1,復選框功能可以使用復選框來指定一個邏輯狀態:真、假,是、否;2,復選框常用功能(1)ValueValue屬性反映復選框的狀態當復選框未選中時,Value=0 或 .F.當復選框選中時,Value=1 或 .T.當復選框ControlSource屬性設置為表中邏輯字段時,邏輯值為.T.時,復選框顯示為選中;如性別為“男生”邏輯值為.F.時,復選框顯示為未選中;如性別為“女生”當復選框的Enabled=.F.時,復選框為灰色四,應用示例四,應用示例例例5.4 學生基本情況調查表單學生基本情況調查表單 page 256設計過程設計過程根據題目要求在表單上放各個控件對齊各控件編寫相應的

20、事件代碼本題主要事件有:本題主要事件有:表單的Init事件命令按鈕的Click事件本例各控件的屬性都通過代碼進行設置表單的表單的Init事件事件this.caption=學生基本情況調查學生基本情況調查use 學生學生this.label1.caption=選擇自己的姓名:選擇自己的姓名:this.label2.caption=選擇來自何地:選擇來自何地:this.label3.caption=選擇性別:選擇性別:this.label4.caption=興趣愛好:興趣愛好:mand1.caption=提交提交this.optiongroup1.option1.caption=女女this.op

21、tiongroup1.option2.caption=男男this.check1.caption=音樂音樂this.check2.caption=球類球類this.check3.caption=看書看書this.check4.caption=旅游旅游this.check5.caption=上網上網this.check6.caption=集郵集郵this.check7.caption=駕駛駕駛this.check8.caption=健身健身bo1.rowsourcetype=bo1.rowsource=學生學生.姓名姓名this.list1.rowsourcetype=0c1=杭州紹興寧波溫州蕭

22、山臺州金華湖州嘉興富杭州紹興寧波溫州蕭山臺州金華湖州嘉興富陽陽for i=0 to 9 this.list1.additem(substr(c1,4*i+1,4)Endfora=bo1.value+,b=iif(thisform.optiongroup1.value=1,女女,男男)d=來自來自+thisform.list1.value+,c1=iif(thisform.check1.value=1,thisform.check1.caption+ ,)c2=iif(thisform.check2.value=1,thisform.check2.caption+ ,)c3=iif(thisfo

23、rm.check3.value=1,thisform.check3.caption+ ,)c4=iif(thisform.check4.value=1,thisform.check4.caption+ ,)c5=iif(thisform.check5.value=1,thisform.check5.caption+ ,)c6=iif(thisform.check6.value=1,thisform.check6.caption+ ,)c7=iif(thisform.check7.value=1,thisform.check7.caption+ ,)c8=iif(thisform.check8.

24、value=1,thisform.check8.caption+ ,)thisform.text1.value=a+b+d+興趣愛好有:興趣愛好有:+c1+c2+c3+c4+c5+c6+c7+c8thisform.refresh命令按鈕的命令按鈕的Click事件事件v計時器計時器Timer主要功能:主要功能:在指定時間間隔執行操作和檢查數據主要屬性:主要屬性:Interval屬性一個計時器事件與下一個計時器事件之間的間隔時間,單位為毫秒。Enabled屬性Enabled=.T. 計時器開始計時Enabled=.F. 計時器停止計時類似計時器的開關主要事件:主要事件:Timer事件-當指定計時時

25、間過去后, Timer事件觸發。當需要每隔一定時間執行某段代碼時,可以使用計時器進行設計。例:在文本框中顯示系統時間,偶數秒時表單背景為藍色,奇數秒時表單背景為綠色:設計:設計:設置計時器的設置計時器的interval=1000 計時器的計時器的Timer事件中加入代碼:事件中加入代碼:Thisform.text1.value=time()C=val(substr(time(),7,2)If mod(c,2)=0 thisform.backcolor=rgb(0,255,0)Else thisform.backcolor=rgb(0,0,255)Endif1,功能:,功能:表格對象能夠在表單或

26、頁面中顯示并操作行和列中的數據,如一張表的記錄數據。表格是一個容器,包含多列。要編輯其中的列,必須切換到表格編輯方式。可采用如下方法進入表格編輯方式:在表格上右擊鼠標,再在彈出菜單中選擇“編輯”再“控件屬性”窗口中,在“對象”框中,選擇表格的一個列表格表格Grid2,表格常用屬性,表格常用屬性 -詳見詳見page 260ColumnCountColumns()ReadOnlyAllowAddNewDeleteMarkRecordmarkAllowRowSizingRecordSourceReccordSourceType表格數據來源主要由屬性:RecordSource,ReccordSourc

27、eType決定。如:RecordSource=“學生”ReccordSourceType=1 (別名)表格應用示例表格應用示例表格顯示課程表數據,命令按鈕設置各列背景顏色,表格顯示課程表數據,命令按鈕設置各列背景顏色,自動設置奇數列和偶數列的背景顏色自動設置奇數列和偶數列的背景顏色設計:設計:表格中的各列可用表格中的各列可用grid1.colummns()來引用來引用設置表格數據來源屬性 RecordSource,ReccordSourceType編寫命令按鈕Click事件代碼:For i=1 to thisform.grid1.columncount if i%2=0 thisform.gr

28、id1.columns(i).backcolor=rgb(0,255,0) else thisform.grid1.columns(i).backcolor=rgb(100,100,0) endifEndforThisform.refresh頁框頁框PageFrame1,主要功能,主要功能頁框是包含頁面的容器對象,頁面又可包含其它控件。頁框可擴展表單的面積2,頁框常用屬性,頁框常用屬性PageCount -頁框中的頁數Pages() -指定頁框中的某個頁ActivePage -激活某個頁要在頁框的頁上放置對象,必須首先選中頁框中的頁選擇頁框中的某一頁的方法:選擇頁框中的某一頁的方法:鼠標右擊頁

29、框,再在彈出菜單中選鼠標右擊頁框,再在彈出菜單中選“編輯編輯”,當頁框被綠色包圍時,當頁框被綠色包圍時即可選擇其中的頁。即可選擇其中的頁。頁框常用事件與方法:頁框常用事件與方法:Activate,Init,Click,SetAllActivate事件事件功能:當激活表單、表單集或頁對象時,將發生Activate事件。例:在兩個頁中分別顯示學生表、成績表的數據設計方法:設計方法:方法一:將數據環境中的表字段直接拖到頁上(應首先選中頁)方法一:將數據環境中的表字段直接拖到頁上(應首先選中頁)方法二:在頁中放上各個控件,分別設置其數據來源方法二:在頁中放上各個控件,分別設置其數據來源1,主要功能:,

30、主要功能:通過通過ActiveX控件(控件(Olecontrol)可以在表單中嵌入一些)可以在表單中嵌入一些VFP不能直接不能直接生成的內容,如圖片、聲音、視頻、生成的內容,如圖片、聲音、視頻、Excel表格或表格或word文文檔等特別內容。檔等特別內容。2,主要屬性:,主要屬性:AutoActivate3,主要事件與方法:,主要事件與方法:InitGotFocusSetFocusLostFocusRefresh1,主要功能:,主要功能:ActiveX綁定控件(綁定控件(Oleboundcontrol)一般與表的通)一般與表的通用字段綁定,用字段綁定,可以使用可以使用ActiveX綁定控件顯示

31、通用字段的內容,如表綁定控件顯示通用字段的內容,如表中每個人的照片等。中每個人的照片等。2,主要屬性:,主要屬性:AutoActivateControlSourceEnabledVisibleAutoSize3,常用方法與事件:,常用方法與事件:InitGotFocusSetFocusLostFocusRefreshActiveX綁定控件的使用:綁定控件的使用:創建或打開表單創建或打開表單將將ActiveX綁定控件拖到表單合適位置綁定控件拖到表單合適位置設置設置ActiveX綁定控件的綁定控件的ControlSource屬性,屬性, 使其與表的通用字段綁定使其與表的通用字段綁定應用示例應用示例

32、 page267例例5.5 設計一個學生信息查詢表單設計一個學生信息查詢表單設計方法:設計方法:根據表單界面要求,選擇頁框對象,在各頁上放根據表單界面要求,選擇頁框對象,在各頁上放上相應控件上相應控件調整排列各控件的位置調整排列各控件的位置1. 編寫相關的事件代碼編寫相關的事件代碼主要事件:主要事件:select 1use 學生學生select 2use 課程課程select 3use 成績成績select 學生學生this.caption=學生學籍信息查詢學生學籍信息查詢c=學生課程成績學生課程成績for i=1 to this.pageframe1.pagecount this.pagef

33、rame1.pages(i).caption=substr(c,4*(i-1)+1,4)endforthis.setall(readonly,.t.,textbox)this.pageframe1.page1.check1.readonly=.t.this.pageframe1.page1.edit1.readonly=.t.this.pageframe1.page1.oleboundcontrol1.enabled=.f.Form1 init事件:事件:with this.pageframe1.page1 .list1.rowsourcetype=6 .list1.rowsource=學生學生.姓名姓名 .label1.cap

溫馨提示

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

評論

0/150

提交評論