版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、8.1 8.1 表單設計基礎表單設計基礎8.1.1 8.1.1 表單簡介表單簡介1.1.表單控件表單控件 表單:即表單:即窗口窗口, ,一種用戶界面一種用戶界面. .表單是一種表單是一種容器類控件容器類控件,在它上面可以,在它上面可以添加其它控件。添加其它控件。2.2.表單的屬性表單的屬性 ( (表表8-2)8-2)主要屬性:主要屬性: CaptionCaption其它:其它:visiblevisible、backcolorbackcolor、autocenterautocenter3.3.表單事件表單事件(1)(1)表單常用事件表單常用事件 表表P247P247表表8-3:8-3: load
2、 load、initinit(二者均為系統(tǒng)事件)(二者均為系統(tǒng)事件)說明:說明:不同的控件能夠響應的事件各不相不同的控件能夠響應的事件各不相同同. .VFPVFP系統(tǒng)事件發(fā)生的先后順序:系統(tǒng)事件發(fā)生的先后順序:表 單表 單 l o a d l o a d 對 象對 象 ( ( 從 內 到 外從 內 到 外 ) ) init init 表單表單activate activate 用戶觸用戶觸發(fā)事件發(fā)事件 表單表單unloadunload(2)(2)事件過程事件過程:某事件發(fā)生時所執(zhí)行的代碼某事件發(fā)生時所執(zhí)行的代碼, ,稱為該事稱為該事件對應的事件過程件對應的事件過程. . (3)(3)事件驅動方
3、式事件驅動方式: :P246P246系統(tǒng)處于等待狀態(tài)系統(tǒng)處于等待狀態(tài), ,直到某直到某事件發(fā)生事件發(fā)生, ,轉轉去去執(zhí)行執(zhí)行對應的對應的事件過程事件過程, , 事件過程執(zhí)行事件過程執(zhí)行完畢后完畢后, ,系統(tǒng)又處于等待狀態(tài)系統(tǒng)又處于等待狀態(tài), ,等待下一等待下一事件發(fā)生。事件發(fā)生。4. 4. 常見表單方法程序常見表單方法程序P246P246 主要:主要:refreshrefresh、releaserelease 其它:其它:showshow、hidehide等等5.5.表單的數(shù)據(jù)環(huán)境表單的數(shù)據(jù)環(huán)境 若設計的表單要用到表文件若設計的表單要用到表文件.dbf.dbf, 則則要把需要用到的表添加到表單
4、的數(shù)據(jù)要把需要用到的表添加到表單的數(shù)據(jù)環(huán)境中,環(huán)境中,運行表單時將自動打開這些運行表單時將自動打開這些表。表。 并且設置用以顯示字段信息的相關并且設置用以顯示字段信息的相關控件控件( (與數(shù)據(jù)綁定的控件與數(shù)據(jù)綁定的控件) )的相關屬性的相關屬性p248p248表表. .6. 6. 用用 表單設計器表單設計器 設計表單的步驟:設計表單的步驟:P248P248 7. 7. 生成表單的方法:生成表單的方法:表單向導表單向導快速表單快速表單使用表單設計器使用表單設計器8.1.2 8.1.2 表單向導表單向導1. .表單向導表單向導例例8-1:8-1: 用用“表單向導表單向導”建立學生基本建立學生基本情
5、況表單情況表單 觀察觀察: : 文本框的文本框的ControlSourceControlSource屬屬性與表單的數(shù)據(jù)環(huán)境性與表單的數(shù)據(jù)環(huán)境2.2.一對多表單向導一對多表單向導例例8-2: 8-2: 用表單向導用表單向導 根據(jù)根據(jù)“學生學生”和和“選課選課”建立成績表單建立成績表單觀察:觀察:文本框的文本框的ControlSourceControlSource屬性、屬性、表格的表格的RecordSourceRecordSource屬性和表格屬性和表格列的列的ControlSourceControlSource屬性與表單的屬性與表單的數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境設計步驟:設計步驟:P251P2518.1.3
6、 8.1.3 表單設計器表單設計器文件文件新建新建表單表單1. 1. 控件的畫法控件的畫法, ,按鈕鎖定按鈕鎖定2.2.屬性窗口屬性窗口 P258P258(1)(1)對象對象: : 對象名稱,對象名稱,默認默認namename屬性值屬性值(2) (2) 選項卡選項卡(3)(3)屬性設置框屬性設置框: : 用來更改屬性值,三種可能方式:A.直接輸入屬性值,后enter B.通過下拉框輸入C.啟動對話框(單擊右側帶有的按鈕)(4)(4)屬性列表框屬性列表框 雙擊屬性名遍歷所有可選項雙擊屬性名遍歷所有可選項 (5)(5)屬性說明信息屬性說明信息引引: : 創(chuàng)建控件創(chuàng)建控件 表表8-78-7控件的名稱
7、控件的名稱 剪切、復制、調整大小、多對象的選定剪切、復制、調整大小、多對象的選定shiftshift 設置對象屬性設置對象屬性( (命令按鈕下一條命令按鈕下一條) ) 6.6.調整控件布局調整控件布局 P257P257(1) (1) 手動調整手動調整(2) (2) 使用布局工具欄使用布局工具欄多個對象的選定:多個對象的選定:shift+shift+單擊單擊 拖曳拖曳附:附:VFPVFP工具欄的顯示與隱藏工具欄的顯示與隱藏 “顯示顯示”菜單菜單 “ “工具欄工具欄” ”n表單設計器工具欄表單設計器工具欄n表單控件工具欄表單控件工具欄n布局工具欄布局工具欄n調色板工具欄調色板工具欄7.7.代碼編輯
8、窗口代碼編輯窗口P259P259打開對象的代碼窗口常用的方法是:打開對象的代碼窗口常用的方法是:雙擊雙擊對象對象u對象組合框對象組合框: : 顯示當前顯示當前對象對象u過程組合框過程組合框: : 選擇選擇事件事件例:設置例:設置“下一條下一條”command1command1的的clickclick事件代碼:事件代碼:SkipSkipThisform.refreshThisform.refresh8. 8. 表單設計器中數(shù)據(jù)環(huán)境的設置表單設計器中數(shù)據(jù)環(huán)境的設置 當表單上顯示的數(shù)據(jù)來源于當表單上顯示的數(shù)據(jù)來源于dbfdbf表文表文件時,需要向表單的件時,需要向表單的“數(shù)據(jù)環(huán)境設計數(shù)據(jù)環(huán)境設計器器
9、”中添加表。中添加表。打開數(shù)據(jù)環(huán)境設計器的方法:打開數(shù)據(jù)環(huán)境設計器的方法:右擊右擊表單表單選擇快捷菜單中的選擇快捷菜單中的“數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境”命令命令 (1)(1)添加表或視圖添加表或視圖 22若有兩個或多個表,設置表間關系若有兩個或多個表,設置表間關系 (3)(3)將要在表單上顯示的字段從將要在表單上顯示的字段從“數(shù)據(jù)環(huán)數(shù)據(jù)環(huán)境境”中拖向表單中拖向表單。8.1.4 表單的運行表單的運行(1)(1)命令格式:命令格式: Do form Do form .scx(2) (2) ! ! (3) “(3) “程序程序”“運行運行”8.2 表單控件的使用表單控件的使用8.2.1 8.2.1 控件的基本
10、操作控件的基本操作1.1.創(chuàng)建控件創(chuàng)建控件( (單擊、拖動單擊、拖動) )2.2.調整控件調整控件 選定單個或多個控件、調整大小、調選定單個或多個控件、調整大小、調整位置、刪除剪切控件整位置、刪除剪切控件. .3.3.設置控件屬性設置控件屬性8.2.2 標簽控件標簽控件(Label)1)1)功用功用:主要用于顯示固定的文本信息。:主要用于顯示固定的文本信息。2)2)主要屬性:主要屬性:CaptionCaption: : 標題文本標題文本, ,即標簽上顯示的字即標簽上顯示的字 C C型型Name: Name: 標簽的名稱標簽的名稱( (默認默認Label1Label1,label2,label2
11、一般不改一般不改) )FontNameFontName:字體:字體FontsizeFontsize:字體大小字體大小 FontBoldFontBold:字體是否加粗:字體是否加粗ForeColorForeColor:前景色:前景色,即字體顏色即字體顏色BackColor:背景色:背景色AutosizeAutosize:根據(jù)顯示信息的多少是否根據(jù)顯示信息的多少是否自動調整標簽寬度自動調整標簽寬度Visible : Visible : 標簽是否可見標簽是否可見2)2)事件事件一般不設計標簽響應的事件,但標簽可一般不設計標簽響應的事件,但標簽可以響應以響應clickclick事件事件. . 例例8-
12、38-3 設計如圖設計如圖8-248-24所示的所示的“教學管教學管理系統(tǒng)理系統(tǒng)”的系統(tǒng)登錄表單的系統(tǒng)登錄表單DL1.SCX.DL1.SCX. 表單主要屬性:表單主要屬性:caption caption 表表8-118-11 標簽主要屬性:標簽主要屬性:captioncaption、 fontnamefontname、fontsizefontsize、autosizeautosize8.2.3 8.2.3 文本框控件文本框控件(TextBox)(TextBox)1)1)功能功能:主要用于接收用戶輸入,也可用:主要用于接收用戶輸入,也可用于顯示信息,一般只包含一行文本于顯示信息,一般只包含一行文
13、本. . 畫一個演示畫一個演示2)2)主要屬性主要屬性: :Name: Name: 名稱名稱 默認默認text1text1,text2,text2ValueValue: : 文本框的值文本框的值( (文本框中顯示的信息文本框中顯示的信息) )ReadOlny : ReadOlny : 文本框是否只讀文本框是否只讀PasswordChar : PasswordChar : 文本框的占位符文本框的占位符ControlSourceControlSource : : 文本框的數(shù)據(jù)源文本框的數(shù)據(jù)源其它:其它:n輸出格式控制輸出格式控制FormatFormatKK:當控件具有焦點時選擇所有文本。:當控件具
14、有焦點時選擇所有文本。n輸入格式輸入格式InputmaskInputmask常用掩碼常用掩碼P126: ! !、 X X 、9 9 例例8-48-4 文本框的輸入功能文本框的輸入功能 設計一個可以輸入操作員姓名和密碼的表單。設計一個可以輸入操作員姓名和密碼的表單。 演示演示 例例 文本框的輸出功能、文本框與數(shù)據(jù)的綁文本框的輸出功能、文本框與數(shù)據(jù)的綁定定. . 設計顯示學生表的學號、姓名、入??偡肿衷O計顯示學生表的學號、姓名、入??偡肿侄涡畔⒌谋韱巍6涡畔⒌谋韱?。 演示演示文本框綁定文本框綁定.scx.scx 方法方法1:1: 手動繪制各對象、設置數(shù)據(jù)環(huán)境、設手動繪制各對象、設置數(shù)據(jù)環(huán)境、設置文
15、本框的置文本框的controlsourcecontrolsource屬性屬性. . 演示在文本框中修改演示在文本框中修改數(shù)據(jù)會影響表數(shù)據(jù)數(shù)據(jù)會影響表數(shù)據(jù). . 方法方法2:2: 從數(shù)據(jù)環(huán)境中拖字段入表單從數(shù)據(jù)環(huán)境中拖字段入表單( (自動設自動設置置namename屬性,屬性,controlsourcecontrolsource屬性等屬性等) )注意注意:(1)(1)默認情況下默認情況下,在文本框中輸入的內容,在文本框中輸入的內容(valuevalue屬性的值),不管是數(shù)字還是字屬性的值),不管是數(shù)字還是字符,符,均默認是均默認是字符型字符型(C)(C) (2)(2)文本框中可以輸入文本框中可以
16、輸入C C、NN、D D、L L型的數(shù)據(jù),型的數(shù)據(jù),由由valuevalue屬性初值的類型屬性初值的類型決定決定: : 字符型字符型 無無 默認輸入的數(shù)據(jù)是字符型默認輸入的數(shù)據(jù)是字符型 數(shù)值型數(shù)值型 0 0 日期型日期型 邏輯型邏輯型 .F. .F.3 3)事件:)事件:常用文本框事件有常用文本框事件有Gotfocus: Gotfocus: 當文本框獲得焦點時發(fā)生當文本框獲得焦點時發(fā)生Lostfous: Lostfous: 當文本框失去焦點時發(fā)生當文本框失去焦點時發(fā)生(tab(tab或或enter)enter)Keypress: Keypress: 當用戶按下并釋放鍵盤上當用戶按下并釋放鍵盤上
17、的某個鍵時發(fā)生的某個鍵時發(fā)生4 4)主要方法)主要方法:setfocus (setfocus (將焦點設置將焦點設置到某對象上到某對象上) ) 如:如:thisform.text1.setfocusthisform.text1.setfocus例:例:輸入半徑求圓面積輸入半徑求圓面積. .演示演示 圓面積圓面積.scx.scx分析:在分析:在text1text1中輸入中輸入半徑半徑,回車回車后在后在text2text2中中顯示結果顯示結果,text2,text2中中不可輸入數(shù)據(jù)不可輸入數(shù)據(jù). .主要屬性設置主要屬性設置Text1: value 0Text1: value 0 format K
18、format K Text2: value 0 Text2: value 0 readonly .t. readonly .t.編寫編寫Text1.keypressText1.keypress事件代碼事件代碼: :r=thisform.text1.valuer=thisform.text1.valueif nkeycode=13if nkeycode=13 thisform.text2.value=3.14 thisform.text2.value=3.14* *r r* *r r endif endifText1Text1中輸完數(shù)據(jù)后中輸完數(shù)據(jù)后, ,敲回車敲回車, ,光標光標( (焦焦點點
19、) )自動定位到自動定位到text2text2中中, text2, text2獲得獲得焦點發(fā)生焦點發(fā)生gotfocusgotfocus事件事件Text2.gotfocusText2.gotfocus事件代碼事件代碼: :thisform.text1.setfocusthisform.text1.setfocus說明:若最初沒有設置文本框的說明:若最初沒有設置文本框的valuevalue屬性,則輸入的數(shù)字默認是字符型,屬性,則輸入的數(shù)字默認是字符型,計算面積時需用計算面積時需用val()val()函數(shù)進行轉換函數(shù)進行轉換. .8.2.4 8.2.4 命令按鈕命令按鈕(Command)(Comma
20、nd)1.1.功能功能: : 起控制作用起控制作用2.2.主要屬性主要屬性 name: name: 名稱名稱 默認默認command1,command2command1,command2 captioncaption :命令按鈕標題:命令按鈕標題 上面的字上面的字 enabled:enabled: 命令按鈕是否可用命令按鈕是否可用3. 3. 事件事件 :Click:Click: 當用戶點擊命令按鈕時發(fā)生當用戶點擊命令按鈕時發(fā)生 例例8-58-5設計設計P267P267圖圖8-298-29帶有命令按鈕的系統(tǒng)登帶有命令按鈕的系統(tǒng)登錄表單錄表單. . 假設假設“李春昆李春昆”的密碼是的密碼是“08”
21、08”。 演示演示 (1)Command1(1)Command1(確定確定) )的的clickclick事件代碼:事件代碼:n 若輸入的姓名和密碼正確:用信息對話框顯示“歡迎使用”。label5不可見。n 若輸入的姓名或密碼錯誤:label5可見,顯示“操作員姓名或密碼錯,請重新輸入”。將焦點定位于text2中,并將其內容清空。(2) command2(2) command2(取消取消) )的的clickclick事件代碼事件代碼: : 用信息對話框提示是否退出圖8-32n若點擊若點擊“是是”:關閉表單:關閉表單n若點擊了若點擊了“否否”:信息對話框提示:信息對話框提示“重新輸入重新輸入”,
22、,并將焦點定位于并將焦點定位于text2text2中中. .8.2.5 列表框列表框(ListBox)1.1.功用:功用:用于顯示供用戶選擇的列表項。用于顯示供用戶選擇的列表項。2.2.主要屬性:主要屬性:lname(list1,list2) name(list1,list2) lRowSourceRowSource:列表框數(shù)據(jù)的來源:列表框數(shù)據(jù)的來源lRowSourceTypeRowSourceType: :列表框數(shù)據(jù)源的類型列表框數(shù)據(jù)源的類型( (無,無,字段,字段,SQL)SQL)lvalue value : :返回列表框中選定列表項的值返回列表框中選定列表項的值( (默認默認字符型字符
23、型) )其它屬性:其它屬性:lColumnCount: ColumnCount: 列表框的列數(shù)列表框的列數(shù)lboundcolumnboundcolumn:當列表框有多列:當列表框有多列時,指定與時,指定與valuevalue屬性綁定的列。屬性綁定的列。lListcountListcount:列表框中列表項的個數(shù):列表框中列表項的個數(shù)lListindexListindex:返回選定列表項的順序:返回選定列表項的順序號號( (取值范圍為取值范圍為1listcount)1listcount)例例8-68-6 設計一個如圖設計一個如圖8-338-33的登錄表單的登錄表單 演示演示 將所有操作員的姓名及
24、其密碼保存在將所有操作員的姓名及其密碼保存在“教師密碼教師密碼.dbf”.dbf”中。中。(操作員不再局限于操作員不再局限于“李春李春昆昆”一個人。一個人。 使用表存儲操作員信息,操作更簡單,不必使用表存儲操作員信息,操作更簡單,不必用多個用多個if elseif else的嵌套)的嵌套)數(shù)據(jù)環(huán)境:數(shù)據(jù)環(huán)境:教師密碼教師密碼.dbf.dbf主要屬性:主要屬性:List1: RowSource List1: RowSource 教師密碼教師密碼. .姓名姓名 RowSourceType RowSourceType 字段字段編寫編寫command1.clickcommand1.click事件代碼事
25、件代碼檢測在檢測在list1list1中選中的姓名中選中的姓名thisform.list1. thisform.list1. valuevalue與輸入的密碼是否匹配(通過使用與輸入的密碼是否匹配(通過使用“教教師密碼師密碼.dbf”.dbf”檢測)檢測) 書上程序不合理書上程序不合理3.3.主要事件主要事件InteractiveChangeInteractiveChange:用戶使用鼠標或用戶使用鼠標或鍵盤修改列表框的值時發(fā)生(即選擇不鍵盤修改列表框的值時發(fā)生(即選擇不同的列表項時發(fā)生)同的列表項時發(fā)生)Click:Click: 單擊列表項時發(fā)生。單擊列表項時發(fā)生。例:例:設計一個表單:在列
26、表框中顯示所有設計一個表單:在列表框中顯示所有學生的學號,單擊任意一個列表項,右學生的學號,單擊任意一個列表項,右則 文 本 框 中 顯 示 該 生 的 信 息 。則 文 本 框 中 顯 示 該 生 的 信 息 。list_interaclist_interac4.4.方法:方法: (1) (1) 向列表框添加一個列表項向列表框添加一個列表項對象名對象名. Additem( . Additem( 字符串字符串) )說明:默認向列表框末尾添加列表項說明:默認向列表框末尾添加列表項(2) (2) 刪除一個列表項刪除一個列表項對象名對象名.removeitem(.removeitem(列表項序號列表
27、項序號 ) ) 例例 演示演示list_additem.scxlist_additem.scx8.2.6 8.2.6 組合框組合框(ComboBox)(ComboBox) 功用:功用:用于從列表項中選取數(shù)據(jù)并顯示用于從列表項中選取數(shù)據(jù)并顯示在編輯窗口中。在編輯窗口中。與列表框功能相同,區(qū)別與列表框功能相同,區(qū)別270270主要屬性主要屬性與方法和列表框相同:與方法和列表框相同:RowSourceRowSource:組合框數(shù)據(jù)的來源:組合框數(shù)據(jù)的來源RowSourceTypeRowSourceType: :組合框數(shù)據(jù)源的類型組合框數(shù)據(jù)源的類型Style:Style: 0 0下拉組合框下拉組合框(
28、 (既可在列表中選既可在列表中選擇列表項,也可在組合框中鍵入一值擇列表項,也可在組合框中鍵入一值) ) 1 1下拉列表框下拉列表框( (僅可在列表中選僅可在列表中選擇列表項擇列表項) )value :value : 返回組合框中選擇的列表項返回組合框中選擇的列表項Displayvalue: Displayvalue: 返回組合框中輸入的返回組合框中輸入的文本或選擇的列表項文本或選擇的列表項. .例例8-7 8-7 P271 P271 設計如圖設計如圖8-358-35的登錄系的登錄系統(tǒng)的身份驗證表單。統(tǒng)的身份驗證表單。 假設每個教師的假設每個教師的登錄密碼是登錄密碼是教師號教師號。在組合框中選擇
29、教師姓名,在文本框在組合框中選擇教師姓名,在文本框中輸入密碼,單擊中輸入密碼,單擊“確定確定”按鈕檢測按鈕檢測輸入的密碼是否正確。若正確輸入的密碼是否正確。若正確將成功將成功登錄的用戶的姓名和登錄時間記錄在登錄的用戶的姓名和登錄時間記錄在“JRJL.dbf”JRJL.dbf”中。中。演示演示數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境: : 教師教師.dbf .dbf JRJL.dbfJRJL.dbf8.2.7 編輯框編輯框(EditBox)n功能功能:與:與文本框的功能基本相同,文本框的功能基本相同,編輯框主要用于輸入編輯框主要用于輸入多段多段文本,或文本,或顯示顯示備注字段備注字段的信息。的信息。n 允許自動換行允許
30、自動換行, , 并能用方向鍵、并能用方向鍵、PageUpPageUp和和pagedownpagedown鍵以及滾鍵以及滾動條來瀏覽文本。動條來瀏覽文本。2.2.主要屬性主要屬性:Name: Name: 默認默認edit1edit1、edit2edit2ControlSourceControlSource:綁定的數(shù)據(jù)源綁定的數(shù)據(jù)源Readonly: Readonly: 是否只讀是否只讀Scrollbars 0:Scrollbars 0:無滾動條無滾動條 2: 2: 有垂直滾動條有垂直滾動條( (默認默認) )3.3.與文本框的區(qū)別:與文本框的區(qū)別:文本框文本框: :可容納可容納一段一段文本文本,
31、 ,可編輯可編輯4 4種類型種類型的數(shù)據(jù)的數(shù)據(jù)編輯框編輯框: : 可容納可容納多段多段文本文本, ,僅可編輯僅可編輯字符型字符型數(shù)據(jù)數(shù)據(jù)例例8-8: 8-8: 設計一個如圖設計一個如圖8-378-37所示的顯示和編輯所示的顯示和編輯學生特長表單。學生特長表單。要求輸入姓名回車后,在編輯框中顯示特長。要求輸入姓名回車后,在編輯框中顯示特長??丶闹饕獙傩栽O置:控件的主要屬性設置:form1: captionform1: captionEdit1: Edit1: controlsourcecontrolsource 自動顯示當前記錄自動顯示當前記錄指針所指向的記錄中相應字段的值指針所指向的記錄中相
32、應字段的值數(shù)據(jù)環(huán)境:數(shù)據(jù)環(huán)境:學生學生事件代碼編寫:事件代碼編寫: edit1.lostfocusedit1.lostfocus form1.init form1.init 為使表單運行時不顯示第一個為使表單運行時不顯示第一個學生的特長,將記錄指針指向文件尾。學生的特長,將記錄指針指向文件尾。事件執(zhí)行順序:事件執(zhí)行順序:8.2.8 8.2.8 復選框復選框(CheckBox)(CheckBox)1. 1. 功用:功用:用于提供只有兩個邏輯值選項用于提供只有兩個邏輯值選項的控件,用戶可選中或清除。的控件,用戶可選中或清除。2.2.主要屬性主要屬性: : NameName:默認:默認check1c
33、heck1、check2 check2 CaptionCaption:指定顯示在復選框右邊的文字指定顯示在復選框右邊的文字 valuevalue 0 0未選中未選中 11選中選中 22不能用不能用3.3.事件:事件:clickclick例:例: “復選框復選框.scx” .scx” 演示演示例例8-9: 8-9: 設計一個查詢學生選課成績的設計一個查詢學生選課成績的表單表單P273P273圖圖8-408-40。SqlSql查詢可不用事先打開表查詢可不用事先打開表8.2.9 8.2.9 選項按鈕組選項按鈕組(OptionGroup)(OptionGroup)1. 1. 功能:功能:提供給用戶多個
34、選項,用戶提供給用戶多個選項,用戶選擇其中一個選項。選擇其中一個選項。( (多選一多選一) )2. 2. 是一個是一個容器類控件容器類控件,它的直接下級,它的直接下級對象是選項按鈕對象是選項按鈕(Option)(Option)3.3.選項按鈕組主要屬性:選項按鈕組主要屬性:name: name: optiongroup1,optiongroup2optiongroup1,optiongroup2ButtonCountButtonCount: : 選項按鈕個數(shù)選項按鈕個數(shù)ValueValue: : 若若valuevalue屬性值為屬性值為n n,表示第,表示第n n個按鈕被選中個按鈕被選中4.4
35、.選項按鈕的主要屬性:選項按鈕的主要屬性: name:name:名稱名稱(option1(option1、option2)option2) Caption: Caption: 標題文本標題文本 選項按鈕旁邊的文字選項按鈕旁邊的文字 注意:注意:容器類對象容器類對象( (如選項按鈕組如選項按鈕組) )的編的編輯:輯:右擊對象,在快捷菜單中選擇右擊對象,在快捷菜單中選擇“編輯編輯”命令。命令。5. 5. 選項按鈕組選項按鈕組常見事件常見事件: : click click 事件事件例例8-20 8-20 設計一表單,輸入兩數(shù),求設計一表單,輸入兩數(shù),求兩數(shù)的和、差、積或商兩數(shù)的和、差、積或商. .演
36、示演示 各控件屬性設置各控件屬性設置 表表8-24 8-24 (1)(1)可以用可以用選項按鈕生成器選項按鈕生成器,避免設置,避免設置屬性的麻煩。屬性的麻煩。(2) (2) 命令按鈕的命令按鈕的clickclick事件代碼的編寫事件代碼的編寫8.2.10 微調控件微調控件(Spinner)1. 1. 功能:功能:用于接收給定范圍內的數(shù)值輸入用于接收給定范圍內的數(shù)值輸入2.屬性: name(spinner1 name(spinner1 、spinner2)spinner2) increment: increment:按一次微調按鈕的增減數(shù)按一次微調按鈕的增減數(shù) SpinnerHighvalue:
37、SpinnerHighvalue:可輸入或調節(jié)的可輸入或調節(jié)的最大值。最大值。 SpinnerLowValue:SpinnerLowValue:可輸入或調節(jié)的可輸入或調節(jié)的最小值。最小值。Controlsource:Controlsource: 微調按鈕數(shù)據(jù)源微調按鈕數(shù)據(jù)源valuevalue: : 微調控件的當前值微調控件的當前值例例:8-11 :8-11 設計一個教師工資調整表單。設計一個教師工資調整表單。演示演示數(shù)據(jù)環(huán)境:教師數(shù)據(jù)環(huán)境:教師主要屬性:表主要屬性:表8-258-25事件代碼:事件代碼: eractivechan
38、ge command1.click command1.click command2.click command2.click例例8-12 設計一個工資調整表單,一次可以調整設計一個工資調整表單,一次可以調整多個教師的工資多個教師的工資。演示演示 圖圖8-528-52屬性:屬性: 表表8-26 list18-26 list1的的multiselectmultiselect屬性屬性. .Command1.click(Command1.click(添加)添加)forfor i=1 to thisform.list1.listcount i=1 to thisform.list1.listcount
39、if thisform.list1. if thisform.list1.selected(i)selected(i)=.t.=.t. thisform.list2. thisform.list2.additemadditem(thisform.list1.list(i)(thisform.list1.list(i) mand2.enabled=.t. mand2.enabled=.t. endif endifendfor endfor 第第i個列表項選中與個列表項選中與否,選中則屬性值否,選中則屬性值為為.t.8.2.11 計時器控件計時器控件(Timer)功用:功用:利用系統(tǒng)時鐘來控制某些
40、具有規(guī)利用系統(tǒng)時鐘來控制某些具有規(guī)律性的周期任務的定時操作律性的周期任務的定時操作. .說明:說明:TimerTimer控件在運行時不可見??丶谶\行時不可見。主要屬性:主要屬性: name : (Timer1 Timer2)name : (Timer1 Timer2) Enabled: Enabled:控制計時器是否進行計時控制計時器是否進行計時 IntervalInterval: : 定義兩次記時器事件觸發(fā)定義兩次記時器事件觸發(fā)的時間間隔的時間間隔( (單位:單位:毫秒毫秒). ).事件:事件: timer timer ( (記時器事件記時器事件). ). 即:利用系統(tǒng)時鐘計時,每隔規(guī)定的
41、即:利用系統(tǒng)時鐘計時,每隔規(guī)定的時間時間(interval)(interval)系統(tǒng)便自動去執(zhí)行一系統(tǒng)便自動去執(zhí)行一次次TimerTimer事件代碼事件代碼例:例:8-138-13 P281 P281字從小變大字從小變大, ,修改修改fontsizefontsize屬性,顏色屬性,顏色紅黑交替變化,紅黑交替變化,forecolorforecolor屬性。屬性。字從右向左移,修改標簽的字從右向左移,修改標簽的leftleft屬性屬性( (減減) )修改:如何加快移動速度修改:如何加快移動速度例例 8-14 8-14 設計一個顯示計算機系統(tǒng)時設計一個顯示計算機系統(tǒng)時間的表單。單擊間的表單。單擊“暫
42、停暫?!?,暫停時間,暫停時間顯示;單擊顯示;單擊“繼續(xù)繼續(xù)”,恢復時間顯示。,恢復時間顯示。演示演示屬性:屬性:Timer1Timer1的的intervalinterval屬性屬性事件:各命令按鈕的事件:各命令按鈕的clickclick事件事件8.2.12 圖像控件(Image)功用功用: : 可以通過該控件顯示圖片可以通過該控件顯示圖片主要屬性:主要屬性:name :( image1 image2)name :( image1 image2)picturepicture: : 顯示的圖片文件顯示的圖片文件stretch: stretch: 圖片的顯示方式,以下三種圖片的顯示方式,以下三種 0
43、0將圖像的超出部分裁剪掉將圖像的超出部分裁剪掉 11等比例填充等比例填充 22變比例填充變比例填充例例8-158-15設計一個以不同顯示方式顯示圖片的設計一個以不同顯示方式顯示圖片的表單表單 演示演示 屬性屬性:P286P286image1image1圖像控件圖像控件: picture: picture、stretchstretchoptiongroup1optiongroup1選項按鈕組:選項按鈕組:buttoncountbuttoncount屬性、屬性、valuevalue屬性屬性各選項按鈕的:各選項按鈕的:captioncaption屬性屬性事件:事件:optiongroup1optio
44、ngroup1的的clickclick事件事件8.2.13 表格(Grid)功能:功能:將數(shù)據(jù)以表格形式顯示在表單上。在將數(shù)據(jù)以表格形式顯示在表單上。在創(chuàng)建一對多表單時通過,表格控件顯示子表創(chuàng)建一對多表單時通過,表格控件顯示子表記錄。記錄。表格是一個表格是一個容器容器, ,層次關系如下:層次關系如下:表格表格(grid)(grid)列列(column) (column) 各列標題各列標題(header)(header)和列控件和列控件表格的主要屬性:表格的主要屬性: RecordSourceRecordSource: :表格的數(shù)據(jù)源表格的數(shù)據(jù)源 RecordSourceTypeRecordSo
45、urceType: :數(shù)據(jù)源類型數(shù)據(jù)源類型(0(0表表, ,1 1別名別名,4 SQL,4 SQL) ) ColumnCount: ColumnCount: 表格列數(shù)表格列數(shù)l列列(column)(column)的主要屬性的主要屬性: : controlsourcecontrolsource列的數(shù)據(jù)源(綁定的字段)列的數(shù)據(jù)源(綁定的字段)l列標題列標題(header)(header)的主要屬性的主要屬性: : caption caption屬性屬性三種創(chuàng)建表格的方法三種創(chuàng)建表格的方法1.1.表格生成器表格生成器( (表中的數(shù)據(jù)只來源于一個表表中的數(shù)據(jù)只來源于一個表的情況的情況) )2. 2.
46、手動畫表格手動畫表格 表格屬性設置表格屬性設置: : 列列column: controlsourcecolumn: controlsource 列標題列標題header: captionheader: caption3.3.從數(shù)據(jù)環(huán)境拖向表單從數(shù)據(jù)環(huán)境拖向表單形成表格形成表格 觀察觀察recordsourcerecordsource和和recordsourcetyperecordsourcetype 寬度調整寬度調整( (容器對象的編輯容器對象的編輯) ) 列的刪除列的刪除例例8-168-16 設計一個如圖設計一個如圖8-668-66所示的學所示的學生成績查詢表單。利用表格生成器。生成績查詢表
47、單。利用表格生成器。 表單程序演示表單程序演示 1.1.打開數(shù)據(jù)環(huán)境打開數(shù)據(jù)環(huán)境, ,添加兩表添加兩表( (先先添加一對多關添加一對多關系的系的一方,即父表一方,即父表學生學生, , 再添子表選課再添子表選課), ),設置表間關聯(lián)。設置表間關聯(lián)。2.2.添加控件添加控件, ,設置控件屬性設置控件屬性組 合 框組 合 框 : : r o w s o u r c e r o w s o u r c e rowsourceTyperowsourceType表格表格: : 用生成器用生成器說明:組合框中選擇列表項時,表記錄指說明:組合框中選擇列表項時,表記錄指定會自動移動到對應記錄上定會自動移動到對應
48、記錄上。3. 3. 編寫編寫grid1.initgrid1.init事件代碼事件代碼說明說明: : n若若表格顯示的數(shù)據(jù)列來源于表格顯示的數(shù)據(jù)列來源于多個表多個表時時,recordsourcetype,recordsourcetype屬性一般屬性一般設置為設置為4 4 SQLSQL( (見圖見圖8-72)8-72)1.1.若表格顯示數(shù)據(jù)列來源于個表若表格顯示數(shù)據(jù)列來源于個表, ,則則recordsourcetyperecordsourcetype屬性一般設屬性一般設置為置為1 1 別名別名例例 8-17 8-17 設計一個如圖設計一個如圖8-728-72所示的成績查詢表單。所示的成績查詢表單。
49、添加控件,設置屬性添加控件,設置屬性. . 表表3-1 3-1 手動設置表格屬性手動設置表格屬性說明:說明:sqlsql所用到的表可不必事先放入數(shù)據(jù)環(huán)境中。所用到的表可不必事先放入數(shù)據(jù)環(huán)境中。事件代碼:事件代碼:text1.lostfocustext1.lostfocusthisform.grid1.rthisform.grid1.recordsourcetypeecordsourcetype=4=4thisform.grid1.thisform.grid1.recordsourcerecordsource= = select select 課程名課程名, ,成績成績; ; from from
50、 學生學生 inner join inner join 選課選課 inner join inner join 課程課程; ; on on 選課選課. .課程號課程號= =課程課程. .課程號課程號; ; on on 選課選課. .學號學號= =學生學生. .學號學號; ; where where 姓名姓名=alltrim(thisform.text1.value);=alltrim(thisform.text1.value); into cursor temp into cursor temp 例例8-18 8-18 設計一個學生成績查詢表單設計一個學生成績查詢表單數(shù)據(jù)環(huán)境:學生、選課數(shù)據(jù)環(huán)境
51、:學生、選課 ( (建立兩表關聯(lián)建立兩表關聯(lián)) )從數(shù)據(jù)環(huán)境中將表的標題欄拖向表單,從數(shù)據(jù)環(huán)境中將表的標題欄拖向表單,自動生成表格,右擊表格,選擇自動生成表格,右擊表格,選擇“編編輯輯”,選中不要的列,按,選中不要的列,按“delete”delete”鍵刪除。鍵刪除。操作演示操作演示8.2.14 頁框(頁框(PageFrame)頁框實際上是選項卡界面頁框實際上是選項卡界面, , 一個頁框可以一個頁框可以有兩個以上的頁面,是有兩個以上的頁面,是容器類控件容器類控件,直,直接下級對象是頁面接下級對象是頁面(page)(page)主要屬性:主要屬性:名稱:名稱:namename(PageFrame1
52、PageFrame1)頁框頁面數(shù)頁框頁面數(shù): : PageCountPageCount頁框的每一頁的標題:頁框的每一頁的標題:CaptionCaption例:例:8-19 P2928-19 P292 表單程序演示表單程序演示 (1) (1)向表單添加頁框控件并設置屬性:向表單添加頁框控件并設置屬性: pageCount: 3pageCount: 3及各頁的及各頁的captioncaption屬性值屬性值 (2)(2)數(shù)據(jù)環(huán)境:教師、授課、課程數(shù)據(jù)環(huán)境:教師、授課、課程(3)(3)右擊右擊頁框頁框選擇選擇“編輯編輯”命令,命令,選中第一個頁,從數(shù)據(jù)環(huán)境中將選中第一個頁,從數(shù)據(jù)環(huán)境中將“教教師師”
53、拖向第一頁拖向第一頁. .注意:注意:容器類控件的編輯容器類控件的編輯8.2.15 命令按鈕組命令按鈕組(CommandGroup)將多個命令按鈕組合在一起,作為一控件,將多個命令按鈕組合在一起,作為一控件,即即“命令按鈕組命令按鈕組”控件,該控件是控件,該控件是容器類容器類控件,它的直接下級對象是命令按鈕控件,它的直接下級對象是命令按鈕. . command1 command1Commandgroup1Commandgroup1 command2 command2 name: commandgroup1name: commandgroup1ButtonCountButtonCount:命令按鈕的個數(shù):命令按鈕的個數(shù)A.A. 命令按鈕組的編輯命令按鈕組的編輯B.B.命令按鈕組生成器命令按鈕組生成器 的使用的使用例:例:8-208-20 表單程序演示表單程序演示 向數(shù)據(jù)環(huán)境添加表向數(shù)據(jù)環(huán)境添加表( (學生學生.dbf).dbf)直接把需要的顯示的字段從數(shù)據(jù)環(huán)直接把需要的顯示的字段從數(shù)據(jù)環(huán)境中境中拖向表單拖向表單. . 將文本框設為將文本框設為只讀只讀再添加命令按鈕組,設置相關屬性。再添加命令按鈕組,設置相關屬性?;蚴褂妹畎粹o組生成器或使用命令按鈕組生成器編寫命令按鈕的編寫命令
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年華東師大版九年級生物上冊月考試卷含答案
- 2025年北師大新版選修4地理下冊月考試卷含答案
- 二零二五版拌合料行業(yè)技術交流與合作開發(fā)合同4篇
- 二零二五年度陶瓷面磚研發(fā)及采購合同4篇
- 二零二五版美團外賣外賣配送高峰期應急預案合同4篇
- 2025年新型共享辦公空間租賃合同3篇
- 掛鉤生產(chǎn)單位的合同(2篇)
- 2025年度木門安裝工程招標合同4篇
- 2025年度門窗安裝工程設計與施工一體化合同4篇
- 2025年度民間借貸融資租賃與資產(chǎn)證券化合同4篇
- 射頻在疼痛治療中的應用
- 和平精英電競賽事
- 四年級數(shù)學豎式計算100道文檔
- “新零售”模式下生鮮電商的營銷策略研究-以盒馬鮮生為例
- 項痹病辨證施護
- 職業(yè)安全健康工作總結(2篇)
- 懷化市數(shù)字經(jīng)濟產(chǎn)業(yè)發(fā)展概況及未來投資可行性研究報告
- 07FD02 防空地下室電氣設備安裝
- 教師高中化學大單元教學培訓心得體會
- 彈簧分離問題經(jīng)典題目
- 部編版高中歷史中外歷史綱要(下)世界史導言課課件
評論
0/150
提交評論