版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第七章表單設(shè)計,1、創(chuàng)建表單的方法: 2、表單設(shè)計的步驟:,通過表單設(shè)計器 表單向?qū)?1、打開表單設(shè)計器創(chuàng)建新的表單 2、數(shù)據(jù)環(huán)境的設(shè)置 3、在表單上添加相關(guān)控件對象并設(shè)置其屬性 4、添加有關(guān)的事件代碼 5、運行表單 6、保存表單,8.1 設(shè)計無控件表單 8.2 標簽控件 8.3 命令按鈕控件 8.4 文本框控件 8.5 編輯框控件,8.6 選項按鈕組 8.7 復選框控件 8.8 列表控件 8.8 組和框 8.9 表格控件 8.10 計時器控件,用表單向?qū)Ы⒈韱?(1)用表單向?qū)?chuàng)建表單 打開“文件”菜單,選擇“新建”,在“新建”窗口,選擇“表單”,再按“向?qū)А卑粹o,進入“向?qū)нx取”窗口;在
2、“向?qū)нx取”窗口,選擇“表單向?qū)А表?,系統(tǒng)將提供“單表”表單向?qū)В床襟E依照“表單向?qū)А蓖瓿蓪Ρ韱蔚脑O(shè)計。,例1 ( Rsda_Rsgz.scx) 利用表單向?qū)崿F(xiàn)職工檔案及工資信息管理. 顯示結(jié)果如下:,涉及到RSDA.DBF和RSGZ.DBF兩個數(shù)據(jù)表,例2、利用表單向?qū)崿F(xiàn)部門及職工工資信息管理 . 顯示結(jié)果如下:,涉及到BM.DBF和RSGZ.DBF兩個數(shù)據(jù)表 保存為BM_RSGZ.SCX,1)創(chuàng)建表單-表單導向-“一對多表單向?qū)А?2)從父表BM中選定字段 部門編號 部門 3)從子表RSGZ中選定字段 技能工資 崗位工資 浮動工資 扣款小計 實發(fā)工資 4)建立表之間的關(guān)系(按字段部門
3、編號) 5)運行,點擊下一步,7.1 設(shè)計無控件表單,表單示意圖:,一、表單屬性的設(shè)置,一、表單屬性的設(shè)置 二、表單的事件 三、表單的方法 四、表單的數(shù)據(jù)環(huán)境,Picture,F:rsgllecturegraphsetmymap1.bmp,表單(其他對象也是一樣)的屬性除在設(shè)計階段通過屬性窗口設(shè)置以外,也可以在執(zhí)行應(yīng)用程序時通過程序代碼來修改其值。 這樣的代碼可在表單設(shè)計時加入到事件觸發(fā)程序或方法當中。如下面的表單Form 屬性的修改命令:(在表單的Load事件中-代碼) THISFORM.BackColor=RGB(255,0,0) THISFORM.Caption=“人事管理數(shù)據(jù)輸入” 前
4、者是將表單Form的背景色改為紅色,后者是修改該表單FROM的標題文字。,修改屬性的兩種方法,【例P8-1 】制作一個(寬)490 (高)340(像素)的表單,表單標題為“表單屬性設(shè)置舉例”,表單以一幅風景圖片(文件名為“Grapsetmymap1.bmp”)為表單背景,表單自動居中,既不能最大化也不能最小化。 表單制作過程如下:,(1)新建一個表單; (2)指針在表單上點擊右鍵,從快捷菜單中選擇“屬性”,打開屬性窗口,根據(jù)題目要求對以下幾個屬性進行重新設(shè)置: Width:428;Height:340;Caption:“表單屬性設(shè)置舉例” Picture:“grapsetmymap1.bmp”
5、; AutoCenter:.T.;MaxButton:.F.;MinButton:.F.。 (3)作以上設(shè)置后關(guān)閉表單設(shè)計器,保存表單文件名為風景.SCX。 (4)運行表單時可以看到表單的效果 。,可以通過程序代碼修改屬性值 Thisform.MaxButton=.F. Thisform.MinButton=.F. Thisform.AutoCenter=.T.,二、表單的事件 VFP中對象的行為是靠事件驅(qū)動的,即當用戶對某一對象進行某種操作時,就會產(chǎn)生一個與此動作相對應(yīng)的事件,引發(fā)事件程序的執(zhí)行,從而達到用戶的操作目的。至于事件發(fā)生后具體要做什么,則由加入到事件過程中的程序代碼決定。,在這里
6、對幾個事件進行專門說明: Load Event :這是表單運行時觸發(fā)的第一個事件。該事件發(fā)生之后,依次觸發(fā)表單的Init、和其他事件。 Init Event:這是一個表單初始化事件,表單一旦調(diào)用或運行,將首先執(zhí)行該事件的程序代碼。所以表單中所用的變量定義、初值的給定,數(shù)據(jù)表的打開(如果在數(shù)據(jù)環(huán)境中沒有設(shè)置的話)等,都可以在這里完成。如在表單的Init Event中加入如下的一段程序: THISFORM.Caption=我的表單 Thisform.Backcolor=rgb(255,128,0) 運行該表單后即會自動把所運行的表單標題改為“我的表單”,同時表單的背景色設(shè)置為桔紅色。,三、表單的方
7、法 除事件過程外,對象還可以包含一些可以用來完成特定工作的過程,它允許在事件過程中調(diào)用,這樣的過程稱為方法。 如通過表單的Circle方法我們可以在表單上繪制一個圓,用Refresh方法可以刷新表單等。,調(diào)用對象方法的格式為: 對象名.方法名。例如: Thisform.circle(50,100,200) (當表單運行時畫圓,半徑=50 ),表單的常見方法,例:在表單上畫圓: (1)按下鼠標按鍵發(fā)生的是Mousedown事件,畫圓需要調(diào)用表單的Circle方法,在表單的MouseDown Event 事件中加入以下代碼 Thisform.Cls Thisform.Circle(60,nXCoo
8、rd,nYCoord),調(diào)用Circle方法畫圓, 60-半徑 nXCoord,nYCoord為由MouseDown事件給出當前鼠標的點擊坐標用來指定圓心的位置,四、表單的數(shù)據(jù)環(huán)境,在表單開始運行時常常要打開一定的數(shù)據(jù)表或自由表,有時還要建立表之間的關(guān)聯(lián),這些工作如果通過編寫程序代碼的方法來實現(xiàn),費時而且容易出錯。 在VFP中,表單中數(shù)據(jù)表的打開與關(guān)閉以及表之間的關(guān)聯(lián)等工作,可以在它的數(shù)據(jù)環(huán)境中設(shè)置完成,形象直觀,使用方便。,所謂“數(shù)據(jù)環(huán)境”,就是創(chuàng)建表單時使用的 數(shù)據(jù)源、包括表、視圖以 及表之間的關(guān)系,數(shù)據(jù)環(huán)境的設(shè)置在表單設(shè)計時完成,方法如下: 在表單設(shè)計器中點擊鼠標右鍵,在出現(xiàn)的快捷菜單中
9、選擇“數(shù)據(jù)環(huán)境” ,或在“顯示”菜單中選擇“數(shù)據(jù)環(huán)境” ,就可以打開當前表單的數(shù)據(jù)環(huán)境設(shè)計器,開始進行數(shù)據(jù)環(huán)境的設(shè)計。,如果添加到數(shù)據(jù)環(huán)境的兩個表已存在永久關(guān)系,則在兩表間自動顯示表示關(guān)系的連線,如下圖所示。如果沒有永久關(guān)系,可以根據(jù)需要在設(shè)計器中設(shè)置關(guān)系。,你所學過的設(shè)計器?,數(shù)據(jù)庫設(shè)計器 數(shù)據(jù)表設(shè)計器 表單設(shè)計器 數(shù)據(jù)環(huán)境設(shè)計器,在打開的數(shù)據(jù)環(huán)境中,可以添加本表單所需要的數(shù)據(jù)表(數(shù)據(jù)庫中的表或自由表)。設(shè)置好的數(shù)據(jù)環(huán)境將和表單一起保存,在運行和釋放表單時自行設(shè)置和清理。,【例P8-2】:通過數(shù)據(jù)環(huán)境、生成器實現(xiàn)顯示數(shù)據(jù)表Rsda和Rsgz中某一職工的記錄,屬性設(shè)置說明: Command1
10、Caption=“上一個” Command2 Caption=“下一個” Command3 Caption=“第一個” Command4 Caption=“最后一個” Command5 Caption=“退出”,設(shè)計步驟: 1、打開表單設(shè)計器創(chuàng)建新的表單 2、數(shù)據(jù)環(huán)境的設(shè)置 3、在表單上添加相關(guān)控件并設(shè)置其屬性 4、添加有關(guān)的事件代碼(事件驅(qū)動) 5、運行表單 6、保存表單,在“第一個”Command3命令按鈕的Click事件中加入代碼: Go top Thisform.refresh,在“上一個”Command1命令按鈕的Click事件中加入代碼: If Not BOF() Skip 1 E
11、ndif Thisform.refresh,在“下一個”Command2命令按鈕的Click事件中加入代碼: If Not EOF() Skip Endif Thisform.refresh,在“最后一個”Command4 命令按鈕的Click事件中加入代碼: Go bottom Thisform.Command2.Enabled =.f. Thisform.refresh,8.2 標 簽 控 件(處理文本信息的控件),標簽(Label) 控件是在表單上使用最多的一種控件對象,如表單上的標題文字、數(shù)據(jù)輸入輸出框的提示、操作說明等。 (有時還用于結(jié)果的輸出),標簽常用的屬性設(shè)置如下表所示。,圖表
12、8-1,例8_3:在Label1的Click Event中加入以下的代碼: 在運行表單時,單擊該標簽文字,可以使之變成斜體,再單擊時又變回到常規(guī)字體。 事件過程代碼如下:,IF ThisForm.label1.FontItalic ThisForm.label1.FontItalic=.F. ELSE ThisForm.label1.FontItalic=.T. ENDIF,絕對引用 Thisform:表示當前表單,相對引用 This:表示對象本身,IF This.FontItalic This.FontItalic=.F. ELSE This.FontItalic=.T. ENDIF,VFP
13、中對象的引用方式:,修改上題: 添加一個命令按鈕。在運行表單時, 當Click命令按鈕,標簽Lable1上的標簽文字可以使之變成斜體,再單擊命令按鈕時Lable1上的標簽文字又變回到常規(guī)字體,應(yīng)在命令按鈕Command1的Click事件中加入代碼: IF ThisForm.label1.FontItalic ThisForm.label1.FontItalic=.F. ELSE ThisForm.label1.FontItalic=.T. ENDIF,不能使用相對引用!,特殊效果 例8_4 “歡迎”在屏幕上移動 (1)設(shè)置表單屬性,在表單上添加一個標簽,其屬性如下: Caption=“歡迎”
14、FontName=楷體_GB2312 FontSize=48 FontBold=.T. Forecolor=RGB(255,0,0) (2)編寫事件代碼: 標簽的Click事件代碼: For I=1 to Thisform.width step 10 This.left=I =INKEY(1) Endfor,8.3 命令按鈕和命令按鈕組(執(zhí)行操作的控件),命令按鈕(Command)操作方便,形象直觀,經(jīng)常為表單設(shè)計者所使用。而命令按鈕組(Commandgroup)則是包含命令按鈕的容器類控件,它把多個作用相近或互相之間有密切聯(lián)系的按鈕放到一起,有利于表單上控件的統(tǒng)一安排。,控件,容器類控件,可
15、以容納其他控件,命令按鈕組、選擇按鈕、表等,表單本身是屬于容器類控件,表單控件窗口中包含了20幾個對象,共分為兩類:,標簽、文本框、命令按鈕等,命令按鈕和命令按鈕組 命令按鈕最常用的屬性有:Caption(按鈕文字)、Picture(按鈕貼圖)、Enabled(是否可用)、ForeColor(前景色)、DisabledForeColor(不可用時的前景色)、DisabledPicture(不可用時的貼圖)等,其屬性值的設(shè)置和修改通過兩種方式實現(xiàn): 1) 在表單設(shè)計器中的屬性窗口中直接設(shè)置 2) 表單運行時由執(zhí)行的程序代碼實現(xiàn)修改 THISFORM.Command1.fontsize=20 TH
16、ISFORM.Command1.caption=“Cancle Thisform.Command1.forecolor=RGB(0,128,64),This.fontsize=20 This.caption=Cancle This.forecolor=RGB(0,128,64),注意:什么時候使用相對引用,命令按鈕組(容器類控件),在一個命令按鈕組對象中,可以含有多個按鈕,每個按鈕可分別定義它的屬性和事件,使用中它們和組外的命令按鈕一樣。使用命令按鈕組時有以下幾個屬性經(jīng)常用到: ButtonCount:組中按鈕的個數(shù); AutoSize:是否自動調(diào)整組的大??; BorderStyle:組的邊框
17、式樣(0:無邊框;1:固定單線條邊框); SpecialEffect:組邊框的特殊效果(0:三維;1:平面)。 Value: 命令按鈕中被選命令按鈕序號,命令按鈕組帶有生成器,在生成器中可以定義組中按鈕數(shù)目,各個按鈕的鍵面文字(或圖形),確定其中的命令按鈕的布局、間隔和邊框式樣。 在VFP中,很多控件可以使用生成器,是快速確定控件屬性的一種方式,可以容易地完成該控件的常用屬性的設(shè)置,可以使用生成器的有以下幾個: Text(文本框)、Edit(編輯框)、CommandGroup(按鈕組)、OptionGroup(選擇按鈕組)、Combox(組合框)、ListBox(列表框)、Grid(表格),要
18、想在表單設(shè)計器中人工調(diào)整命令按鈕組中的按鈕,可以從按鈕組的快捷菜單(指針指在按鈕組上單擊右鍵出現(xiàn))中選擇“編輯”,再對組中的各個按鈕逐個處理,如分別調(diào)整它們的大小和位置、設(shè)置它們的屬性、定義它們的事件過程等。 也可以在代碼中設(shè)置屬性(運行或點擊時生效),【例P8-5】:在表單中創(chuàng)建一個含四個按鈕的命令按鈕組如下圖所示,四個按鈕的字體大小為12,前景顏色為RGB(255,0,0),運行時點擊第一個按鈕,其Caption屬性變?yōu)椋篊hanged 前景顏色為RGB(0,0,255),Shift全選中,THISFORM.CommandGroup1.Command1.Caption=“changed” THISFORM.CommandGroup1.Command1.Forecolor=RGB(0.0.255),在GommandGroup1的Command1的Click事件中加入下面代碼:,修改為相對引用?,在Form1的Load的事件中加入下面代碼: THISF
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 我國上市公司收購法律制度的完善:基于實踐與國際經(jīng)驗的審視
- 我國上市公司并購交易模式的多維度剖析與展望
- 印刷設(shè)備電氣裝調(diào)工發(fā)展趨勢評優(yōu)考核試卷含答案
- 燃氣用戶安裝檢修工道德知識考核試卷含答案
- 寶劍工安全理論能力考核試卷含答案
- 制漿工崗前技術(shù)實務(wù)考核試卷含答案
- 飛機操縱系統(tǒng)安裝調(diào)試工安全知識宣貫測試考核試卷含答案
- 企業(yè)產(chǎn)品質(zhì)量控制制度
- 2026新疆兵投檢驗檢測有限責任公司招聘15人備考題庫及一套完整答案詳解
- 大單元整合·深度復習:新中國成就的立體透視與中考備考
- 勾股定理復習導學案
- GB/T 22900-2022科學技術(shù)研究項目評價通則
- SB/T 11094-2014中藥材倉儲管理規(guī)范
- GB/T 6418-2008銅基釬料
- GB/T 3452.4-2020液壓氣動用O形橡膠密封圈第4部分:抗擠壓環(huán)(擋環(huán))
- GB/T 16621-1996母樹林營建技術(shù)
- GB/T 14518-1993膠粘劑的pH值測定
- GB/T 14072-1993林木種質(zhì)資源保存原則與方法
- GA/T 1310-2016法庭科學筆跡鑒定意見規(guī)范
- 垃圾分類科普指南課件(21張PPT)
- DB37-T 4328-2021 建筑消防設(shè)施維護保養(yǎng)技術(shù)規(guī)程
評論
0/150
提交評論