




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第7章 表單控件設計,7.1 輸出類控件,標簽(Label) 屬性選介 (1) 使標簽區(qū)域自動調整為與標題文本大小一致:可將AutoSize屬性設置為.T.。 (2) 使標簽的標題豎排:先將WordWrap屬性設置為.T.,然后在水平方向壓縮標簽區(qū)域迫使文字換行。 (3) 使標簽與表單背景顏色一致:將BackStyle屬性設置為0(透明) (4) 使標簽帶有邊框:將BorderStyle屬性設置為1(單選框) 圖象(Image)、線條(Line)與形狀(Shape) 創(chuàng)建圖象的步驟如下: 在表單上創(chuàng)建一個圖象控件在屬性窗口選定Picture屬性,并通過文本框右側的對話按鈕選定一個圖象, 該圖象
2、即顯示在圖象控件處。 線條控件用于在表單上畫各種類型的線條,包括斜線、水平線和垂直線。 形狀控件用于在表單上畫出各種類型的形狀,包括矩形、圓角矩形、正方形、圓角正方形,橢圓或圓。,表7.3 形狀控件的形狀設置,例7-1 設計如圖7.1所示的應用程序封面。 (1) 創(chuàng)建表單FM.SCX。 (2) 在表單上創(chuàng)建標簽和形狀控件各1個。 (3) 設置屬性:詳見表7.4 (4) 將封面的文字置前于橢圓:選定Label1,然后在布局工具欄中選定“置前”按鈕。若已置前,則該步驟可省。 (5) Form1的RightClick事件代碼編寫如下: THISFORM.Release & 右擊表單執(zhí)行Release
3、方法程序,從內存釋放該表單,表7.4 “封面”屬性設置,7.2 輸入類控件,文本框(Text) 文本框的值Value屬性 焦點 控件設置焦點方法程序格式:Control.SetFocus 獲得焦點事件(GotFocus Event) 失去焦點事件(LostFocus Event) 控件的數(shù)據(jù)綁定 ControlSource屬性 文本框生成器 編輯框(Edit),列表框(List) 列表框生成器 例7-3 在列表框中填充SB表的編號和名稱兩個字段,要求選定列表框的任一項,就能使文本框中顯示編號字段值。 (1) 在表單中創(chuàng)建1個列表框控件和1個文本框控件。 (2) 打開列表框生成器在列表項選項卡的
4、“用此填充列表”組合框中選定“表或視圖中的字段”選項如圖7.4(a1)所示,通過對話按鈕選出SB表,然后將編號和名稱字段從可用字段列表添入選定字段列表中按確定按鈕。 (3) List1的Interactive Change事件代碼編寫如下: THISFORM.Text1.Value=THIS.Value & 將列表框選項值賦給文本框,(a1),表7.5 列表框、組合框控件的值源類型,組合框(Combo) 下拉組合框Style屬性值 0 下拉列表框 Style屬性值1 控件值源的類型,例7-4 試用BMDM表的代碼來修改SB表的部門字段。要求SB表在列表框顯示, BMDM表在組合框顯示;并且當列
5、表框確定一個記錄后,便可用組合框的選項來替代SB表的部門字段值。 (1) 在表單上創(chuàng)建2個標簽,1個列表框和1個組合框。 (2) 在數(shù)據(jù)環(huán)境中添加SB表和BMDM。 注意,若存在關聯(lián)聯(lián)線則將它取消。 (3) 屬性設置:見表7.7。 (4) Combo1的InteractiveChange 事件代碼編寫如下: THISFORM.LIST1.Refresh & 在組合框列表中選項并替代SB.部門后更新列表框的顯示 (5) Form1的Init事件代碼編寫如下: THISFORM.Combo1.Enabled=.F. & 使初始時不能操作組合框,只可在列表框先確定記錄 (6) List1的Inter
6、activeChange 事件代碼編寫如下: THISFORM.Combo1.Enabled=.T. & 列表框操作后即允許組合框操作 (7) List1的Init事件代碼編寫如下: SET ORDER TO TAG 編號 & 使列表按設備編號次序顯示(假定SB表中該索引標識已存在),表7.7 “用BMDM表修改SB表的部門”屬性設置,例7-6 在表單上創(chuàng)建1個組合框和1個文本框,要求如下: (1) 組合框的列表包含SB表的編號字段值。 (2) 能在組合框中為其列表鍵入新選項。 (3) 若選取組合框列表中的項(也可以是剛添入的新選項),便能將它送入文本框。 假定組合框和文本框已在表單上創(chuàng)建(圖
7、略),下面列出主要的屬性和事件代碼。 (1) Combo1屬性設置 Style:0 (默認值,表示組合框類型為下拉組合框) RowSourceType: 6 (表示控件值源類型為字段) RowSource:SB.編號 (在數(shù)據(jù)環(huán)境中添加SB表后,就能在屬性窗口選取字段) (2) Combo1的KeyPress事件代碼編寫如下: LPARAMETERS nKeyCode, nShiftAltCtrl IF nKeyCode = 13 & 按回車鍵則條件表達式返回.T. IF This.ListIndex=0 & 組合框列表中無此鍵入值返回.T.,才允許添加數(shù)據(jù) THIS.RowSourceTyp
8、e=0 & 控件值源類型設置為可用AddItem方法程序添加數(shù)據(jù) THIS.AddItem(THIS.DisplayValue) & 鍵入值添入列表末尾 THIS.Value=THIS.DisplayValue & 使鍵入值立即成為列表中的選項 INSERT INTO vfpexsb(編號) VALUES(THIS.DisplayValue) & INSERT-SQL命令在SB表末尾添加一個記錄,并將鍵入值存入該記錄的編號字段 THIS.RowSourceType=6 & 恢復控件值源類型為字段 ENDIF ENDIF (3) Combo1的Interactive Change事件代碼編寫如下
9、: THISFORM.Text1.Value=THIS.Value,微調控件(Spinner) 屬性選介 (1) Value:表示微調控件的當前值。 (2) KeyBoardHighValue:設定鍵盤輸入數(shù)值高限。 (3) KeyBoardLowValue:設定鍵盤輸入數(shù)值低限。 (4) SpinnerHighValue:設定按鈕微調數(shù)值高限。 (5) SpinnerLowValue:設定按鈕微調數(shù)值低限。 (6) Increment:設定按一次箭頭按鈕的增減數(shù),默認為1.00。若設置為1.50 則增減數(shù)為1.5。 (7) InputMask:設置輸入掩碼。微調控件默認帶兩位小數(shù),若只要整數(shù)
10、可用輸入掩碼來限定,例如999999表示6位整數(shù)。若微調控件綁定到表的字段,則輸入掩碼位數(shù)不得小于字段寬度,否則將顯示一串*號。 事件選介 (1) DownClick Event:按微調控件的向下按鈕事件。 (2) UpClick Event:按微調控件的向上按鈕事件。,7.3 控制類控件,命令按鈕(Command) 例7-7 設計一個如圖7.8所示的密碼輸入窗口, 要求最多允許輸入3次密碼。 (1) 創(chuàng)建一個表單,然后在其中創(chuàng)建標簽和文本框各1個,命令按鈕2個。 (2) 屬性設置:見表7.8。 (3) Form1的Load事件代碼編寫如下: public i & i用于計算輸入次數(shù) i=0
11、(4) Command1的Click事件代碼編寫如下: i=i+1 IF THISFORM.Text1.Value=123456 & 文本框輸入值與123456(預置的密碼)比較 THISFORM.Release & 本表單從內存釋放 ELSE IF i3 & 允許輸入3次 MESSAGEBOX(密碼錯,請重新輸入!) THISFORM.Text1.Value= & 為重新輸入清空文本框 THISFORM.Text1.Setfocus & 使文本框獲得焦點,就是使光標在其中閃爍 ELSE MESSAGEBOX(密碼錯,禁止進入系統(tǒng)!) THISFORM.Release ENDIF ENDIF,
12、表7.8 “密碼輸入”屬性設置,(5) Command2的Click事件代碼編寫如下: THISFORM.Release,命令按鈕組(Commandgroup) 命令按鈕組生成器 Click事件的判別 例如圖7.11中,Commandgroup1的Click事件代碼編寫如下: DO CASE CASE THIS.Value =1 & 單擊Command1命令按鈕(下頁)返回.T. IF recno()1 & 防止上移出界 SKIP -1 ENDIF THISFORM.Refresh CASE THIS.Value =3 & 單擊Command3命令按鈕(退出)返回.T. THISFORM.Re
13、lease & 表單從內存釋放 ENDCASE,復選框(Check) 復選框的值 Value屬性:0或.F.表示清除;1或.T.表示選定;2表示灰色狀態(tài)。其中數(shù)字為默認值。 選項按鈕組(Optiongroup) 選項按鈕的Value屬性:1表示選定,0表示未選定。 選項按鈕組的Value屬性:表明被選定按鈕的序號,默認為1。例如第2個按鈕被選定時Value值為2。 選項按鈕組生成器 例7-11 設計一個能編輯或瀏覽關于設備的4個數(shù)據(jù)庫表的對話框, 界面要求如圖7.12所示。 (1) 在表單上創(chuàng)建1個復選框和2個命令按鈕。 (2) 數(shù)據(jù)環(huán)境設置:在數(shù)據(jù)環(huán)境中添加SB表,BMDM表,DX表和ZZ表
14、。,表7.12 “選表編輯或瀏覽”部分屬性設置,(3) 創(chuàng)建選項按鈕組Optiongroup1:先在表單上創(chuàng)建一個選項按鈕組,然后再利用選項按鈕組生成器進行設置。 打開選項組生成器對話框:用表單控件工具欄的選項按鈕組按鈕在表單中創(chuàng)建一個選項按鈕組,右擊選項按鈕組并選定快捷菜單的生成器命令。 在按鈕選項卡(參閱圖7.9)中進行設置:在微調控件中將按鈕的數(shù)目置為4將表格標題列中4項依次改為設備表、部門表、大修表和增值表。 在布局選項卡中進行設置:將微調控件按鈕間隔置為10按確定按鈕關閉選項組生成器對話框將選項按鈕組移到表單左部適當位置。 (4) 對其它控件的屬性進行設置:見表7.12。 (5) O
15、ptiongroup1的Click事件代碼編寫如下: DO CASE CASE THIS.Value =1 & 選定Option1選項按鈕(設備表)時返回.T. SELECT SB & 選擇SB表所在工作區(qū) CASE THIS.Value =2 & 選定Option2選項按鈕(部門表)時返回.T. SELECT BMDM & 選擇BMDM表所在工作區(qū) CASE THIS.Value =3 & 選定Option3選項按鈕(大修表)時返回.T. SELECT DX & 選擇DX表所在工作區(qū) CASE THIS.Value =4 & 選定Option4選項按鈕(增值表)時返回.T. SELECT Z
16、Z & 選擇ZZ表所在工作區(qū) ENDCASE (6) Command1的Click事件代碼編寫如下: * 確定 IF THISFORM.Check1.Value=1 & Check1被選定時返回.T. BROWSE & 可編輯數(shù)據(jù) ELSE & 若Check1未選定 BROWS NOMODIFY NOAPPEND NODELETE & 僅可瀏覽,不可編輯 ENDIF (7) Command2的Click事件代碼編寫如下: * 退出 THISFORM.Release & 表單釋放,7.4 容器類控件,表格(Grid) 表格的組成 (1) 表格(Grid):由一或若干列組成。 (2) 列(Colu
17、mn):一列可顯示表的一個字段,列由列標題和列控件組成。 (3) 列標題(Header1):默認顯示字段名,允許修改。 (4) 列控件(例如Text1):一列必須設置一個列控件, 列控件默認為文本框。 創(chuàng)建表格控件 在數(shù)據(jù)環(huán)境中將表窗口的標題欄拖放到表單窗口 利用表格生成器創(chuàng)建 表格編輯,例7-14 設計一個如圖7.16所示的表單,要求能按部門瀏覽所有設備數(shù)據(jù)。 (1) 創(chuàng)建表單,并在數(shù)據(jù)環(huán)境中建立如圖7.17 所示4個表的兩級一多關系。 (2) 在表單上創(chuàng)建1個下拉列表框,2個標簽,3個表格。表格控件可從數(shù)據(jù)環(huán)境創(chuàng)建,即將數(shù)據(jù)環(huán)境中SB窗口的標題欄拖到表單釋放,從而產(chǎn)生GrdSb表格。然后可
18、用同樣方法創(chuàng)建表格GrdDx和GrdZz,如圖7.16所示。表格創(chuàng)建后按圖調整好表格位置、大小與列寬。 (3) 如圖7.16所示創(chuàng)建矩形框形狀控件,然后選定格式菜單的置后命令。 (4) 屬性設置:見表7.14。 (5) Combo1的Init事件: SELECT bmdm GO BOTTOM SKIP & 故意將記錄指針移到出界,以使表格在表單運行之初顯示空白 (6) Combo1的Click事件: THISFORM.Label2.Caption=THISFORM.Combo1.Value+設備情況 & 標題例如“一車間設備情況”,表7.14 “按部門瀏覽設備”屬性設置,頁框(Pagefram
19、e) 例7-15 在表單上創(chuàng)建一個如圖7.18所示含有兩個頁面的頁框,分別用來維護SB表和BMDM表。 (1) 在表單上創(chuàng)建一個頁框。 (2) 在數(shù)據(jù)環(huán)境中添加SB表和BMDM表。 (3) 頁面標題設置:在頁框中選定Page1頁面,將頁面的Caption 值改為設備。以同樣方法將Page2頁面標題改為部門。 (4) 在頁面中創(chuàng)建表格:在頁框中選定設備頁面,做一個從數(shù)據(jù)環(huán)境中SB窗口標題欄到設備頁面的拖放動作,頁面中就會顯示關于SB表的表格。以同樣方法在部門頁面中創(chuàng)建關于BMDM 表的表格。,連接類 ActiveX控件(Olecontrol) 例7-16 用滑桿控件瀏覽設備表的設備名稱,要求滑桿
20、指向什么數(shù)值,就顯示記錄號為該數(shù)值的設備名。 (1) 在表單上創(chuàng)建1個文本框控件。 (2) 在表單上創(chuàng)建1個滑桿控件:從表單控件工具欄中選定ActiveX(Olecontrol)控件按鈕單擊表單下部某處在插入對象對話框中選定“插入控件”選項按鈕在控件類型列表中選定Microsoft Slider Control,version 6.0選項選定確定按鈕返回表單窗口(見圖7.20)。,(3) 在數(shù)據(jù)環(huán)境中添加SB表。 (4) 將Form1表單的Caption屬性設置為瀏覽設備名稱。 (5) Olecontrol1的Init事件代碼編寫如下: * 滑桿指針刻度范圍按表的記錄數(shù)設置 THIS.Min = 1 & 刻度值最小為1 THIS.Max = RECCOUNT() & 刻度值最大與記錄個數(shù)相同 (6) Olecontrol1的MouseMove事件代碼編寫如下: LPARAMETERS button, shift, x, y * 移動滑桿指針來顯示SB表的名稱字段值 * Olecontrol1:滑桿控件的Name * THISFORM.Olecontrol1.Value:滑桿指針所在刻度的值 GO THISFORM.Olecontrol1.Value & 記錄指針指向滑桿指針所在刻度 THISFORM.Text1.Va
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家政服務人員技能培訓及服務協(xié)議
- 股權投資擔保與投資監(jiān)管協(xié)議
- 婚慶服務費用結算標準合同
- 股權激勵協(xié)議員工股權激勵與公司戰(zhàn)略規(guī)劃
- 生物農(nóng)業(yè)企業(yè)股東退出與農(nóng)業(yè)知識產(chǎn)權回購協(xié)議
- 股權分配與知識產(chǎn)權保護協(xié)議
- 智能家居股權并購保密協(xié)議及產(chǎn)業(yè)鏈合作合同
- 水性外墻涂料購銷與售后服務協(xié)議
- 醫(yī)療健康股權收購意向合同范本
- 文化產(chǎn)業(yè)股權收購與跨界合作框架協(xié)議
- 立責于心履責于行全面落實企業(yè)安全生產(chǎn)主體責任課件
- 建筑工程模板施工工藝技術要點講義豐富課件
- 醫(yī)療垃圾廢物處理課件
- 位置度公差以及其計算
- 氯化銨危險化學品安全周知卡
- 《煤的發(fā)熱量測定方法》ppt課件
- 三寶、四口、五臨邊安全培訓PPT課件
- 護理崗位管理與績效考核-PPT課件
- 國家電網(wǎng)有限公司十八項電網(wǎng)重大反事故措施(修訂版)
- 李墨林按摩療法(李墨林)237頁
- 幕墻施工安全技術交底
評論
0/150
提交評論