




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第7章 表單控件設(shè)計(jì),7.1 輸出類控件,標(biāo)簽(Label) 屬性選介 (1) 使標(biāo)簽區(qū)域自動調(diào)整為與標(biāo)題文本大小一致:可將AutoSize屬性設(shè)置為.T.。 (2) 使標(biāo)簽的標(biāo)題豎排:先將WordWrap屬性設(shè)置為.T.,然后在水平方向壓縮標(biāo)簽區(qū)域迫使文字換行。 (3) 使標(biāo)簽與表單背景顏色一致:將BackStyle屬性設(shè)置為0(透明) (4) 使標(biāo)簽帶有邊框:將BorderStyle屬性設(shè)置為1(單選框) 圖象(Image)、線條(Line)與形狀(Shape) 創(chuàng)建圖象的步驟如下: 在表單上創(chuàng)建一個(gè)圖象控件在屬性窗口選定Picture屬性,并通過文本框右側(cè)的對話按鈕選定一個(gè)圖象, 該圖象
2、即顯示在圖象控件處。 線條控件用于在表單上畫各種類型的線條,包括斜線、水平線和垂直線。 形狀控件用于在表單上畫出各種類型的形狀,包括矩形、圓角矩形、正方形、圓角正方形,橢圓或圓。,表7.3 形狀控件的形狀設(shè)置,例7-1 設(shè)計(jì)如圖7.1所示的應(yīng)用程序封面。 (1) 創(chuàng)建表單FM.SCX。 (2) 在表單上創(chuàng)建標(biāo)簽和形狀控件各1個(gè)。 (3) 設(shè)置屬性:詳見表7.4 (4) 將封面的文字置前于橢圓:選定Label1,然后在布局工具欄中選定“置前”按鈕。若已置前,則該步驟可省。 (5) Form1的RightClick事件代碼編寫如下: THISFORM.Release & 右擊表單執(zhí)行Release
3、方法程序,從內(nèi)存釋放該表單,表7.4 “封面”屬性設(shè)置,7.2 輸入類控件,文本框(Text) 文本框的值Value屬性 焦點(diǎn) 控件設(shè)置焦點(diǎn)方法程序格式:Control.SetFocus 獲得焦點(diǎn)事件(GotFocus Event) 失去焦點(diǎn)事件(LostFocus Event) 控件的數(shù)據(jù)綁定 ControlSource屬性 文本框生成器 編輯框(Edit),列表框(List) 列表框生成器 例7-3 在列表框中填充SB表的編號和名稱兩個(gè)字段,要求選定列表框的任一項(xiàng),就能使文本框中顯示編號字段值。 (1) 在表單中創(chuàng)建1個(gè)列表框控件和1個(gè)文本框控件。 (2) 打開列表框生成器在列表項(xiàng)選項(xiàng)卡的
4、“用此填充列表”組合框中選定“表或視圖中的字段”選項(xiàng)如圖7.4(a1)所示,通過對話按鈕選出SB表,然后將編號和名稱字段從可用字段列表添入選定字段列表中按確定按鈕。 (3) List1的Interactive Change事件代碼編寫如下: THISFORM.Text1.Value=THIS.Value & 將列表框選項(xiàng)值賦給文本框,(a1),表7.5 列表框、組合框控件的值源類型,組合框(Combo) 下拉組合框Style屬性值 0 下拉列表框 Style屬性值1 控件值源的類型,例7-4 試用BMDM表的代碼來修改SB表的部門字段。要求SB表在列表框顯示, BMDM表在組合框顯示;并且當(dāng)列
5、表框確定一個(gè)記錄后,便可用組合框的選項(xiàng)來替代SB表的部門字段值。 (1) 在表單上創(chuàng)建2個(gè)標(biāo)簽,1個(gè)列表框和1個(gè)組合框。 (2) 在數(shù)據(jù)環(huán)境中添加SB表和BMDM。 注意,若存在關(guān)聯(lián)聯(lián)線則將它取消。 (3) 屬性設(shè)置:見表7.7。 (4) Combo1的InteractiveChange 事件代碼編寫如下: THISFORM.LIST1.Refresh & 在組合框列表中選項(xiàng)并替代SB.部門后更新列表框的顯示 (5) Form1的Init事件代碼編寫如下: THISFORM.Combo1.Enabled=.F. & 使初始時(shí)不能操作組合框,只可在列表框先確定記錄 (6) List1的Inter
6、activeChange 事件代碼編寫如下: THISFORM.Combo1.Enabled=.T. & 列表框操作后即允許組合框操作 (7) List1的Init事件代碼編寫如下: SET ORDER TO TAG 編號 & 使列表按設(shè)備編號次序顯示(假定SB表中該索引標(biāo)識已存在),表7.7 “用BMDM表修改SB表的部門”屬性設(shè)置,例7-6 在表單上創(chuàng)建1個(gè)組合框和1個(gè)文本框,要求如下: (1) 組合框的列表包含SB表的編號字段值。 (2) 能在組合框中為其列表鍵入新選項(xiàng)。 (3) 若選取組合框列表中的項(xiàng)(也可以是剛添入的新選項(xiàng)),便能將它送入文本框。 假定組合框和文本框已在表單上創(chuàng)建(圖
7、略),下面列出主要的屬性和事件代碼。 (1) Combo1屬性設(shè)置 Style:0 (默認(rèn)值,表示組合框類型為下拉組合框) RowSourceType: 6 (表示控件值源類型為字段) RowSource:SB.編號 (在數(shù)據(jù)環(huán)境中添加SB表后,就能在屬性窗口選取字段) (2) Combo1的KeyPress事件代碼編寫如下: LPARAMETERS nKeyCode, nShiftAltCtrl IF nKeyCode = 13 & 按回車鍵則條件表達(dá)式返回.T. IF This.ListIndex=0 & 組合框列表中無此鍵入值返回.T.,才允許添加數(shù)據(jù) THIS.RowSourceTyp
8、e=0 & 控件值源類型設(shè)置為可用AddItem方法程序添加數(shù)據(jù) THIS.AddItem(THIS.DisplayValue) & 鍵入值添入列表末尾 THIS.Value=THIS.DisplayValue & 使鍵入值立即成為列表中的選項(xiàng) INSERT INTO vfpexsb(編號) VALUES(THIS.DisplayValue) & INSERT-SQL命令在SB表末尾添加一個(gè)記錄,并將鍵入值存入該記錄的編號字段 THIS.RowSourceType=6 & 恢復(fù)控件值源類型為字段 ENDIF ENDIF (3) Combo1的Interactive Change事件代碼編寫如下
9、: THISFORM.Text1.Value=THIS.Value,微調(diào)控件(Spinner) 屬性選介 (1) Value:表示微調(diào)控件的當(dāng)前值。 (2) KeyBoardHighValue:設(shè)定鍵盤輸入數(shù)值高限。 (3) KeyBoardLowValue:設(shè)定鍵盤輸入數(shù)值低限。 (4) SpinnerHighValue:設(shè)定按鈕微調(diào)數(shù)值高限。 (5) SpinnerLowValue:設(shè)定按鈕微調(diào)數(shù)值低限。 (6) Increment:設(shè)定按一次箭頭按鈕的增減數(shù),默認(rèn)為1.00。若設(shè)置為1.50 則增減數(shù)為1.5。 (7) InputMask:設(shè)置輸入掩碼。微調(diào)控件默認(rèn)帶兩位小數(shù),若只要整數(shù)
10、可用輸入掩碼來限定,例如999999表示6位整數(shù)。若微調(diào)控件綁定到表的字段,則輸入掩碼位數(shù)不得小于字段寬度,否則將顯示一串*號。 事件選介 (1) DownClick Event:按微調(diào)控件的向下按鈕事件。 (2) UpClick Event:按微調(diào)控件的向上按鈕事件。,7.3 控制類控件,命令按鈕(Command) 例7-7 設(shè)計(jì)一個(gè)如圖7.8所示的密碼輸入窗口, 要求最多允許輸入3次密碼。 (1) 創(chuàng)建一個(gè)表單,然后在其中創(chuàng)建標(biāo)簽和文本框各1個(gè),命令按鈕2個(gè)。 (2) 屬性設(shè)置:見表7.8。 (3) Form1的Load事件代碼編寫如下: public i & i用于計(jì)算輸入次數(shù) i=0
11、(4) Command1的Click事件代碼編寫如下: i=i+1 IF THISFORM.Text1.Value=123456 & 文本框輸入值與123456(預(yù)置的密碼)比較 THISFORM.Release & 本表單從內(nèi)存釋放 ELSE IF i3 & 允許輸入3次 MESSAGEBOX(密碼錯(cuò),請重新輸入!) THISFORM.Text1.Value= & 為重新輸入清空文本框 THISFORM.Text1.Setfocus & 使文本框獲得焦點(diǎn),就是使光標(biāo)在其中閃爍 ELSE MESSAGEBOX(密碼錯(cuò),禁止進(jìn)入系統(tǒng)!) THISFORM.Release ENDIF ENDIF,
12、表7.8 “密碼輸入”屬性設(shè)置,(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 & 表單從內(nèi)存釋放 ENDCASE,復(fù)選框(Check) 復(fù)選框的值 Value屬性:0或.F.表示清除;1或.T.表示選定;2表示灰色狀態(tài)。其中數(shù)字為默認(rèn)值。 選項(xiàng)按鈕組(Optiongroup) 選項(xiàng)按鈕的Value屬性:1表示選定,0表示未選定。 選項(xiàng)按鈕組的Value屬性:表明被選定按鈕的序號,默認(rèn)為1。例如第2個(gè)按鈕被選定時(shí)Value值為2。 選項(xiàng)按鈕組生成器 例7-11 設(shè)計(jì)一個(gè)能編輯或?yàn)g覽關(guān)于設(shè)備的4個(gè)數(shù)據(jù)庫表的對話框, 界面要求如圖7.12所示。 (1) 在表單上創(chuàng)建1個(gè)復(fù)選框和2個(gè)命令按鈕。 (2) 數(shù)據(jù)環(huán)境設(shè)置:在數(shù)據(jù)環(huán)境中添加SB表,BMDM表,DX表和ZZ表
14、。,表7.12 “選表編輯或?yàn)g覽”部分屬性設(shè)置,(3) 創(chuàng)建選項(xiàng)按鈕組Optiongroup1:先在表單上創(chuàng)建一個(gè)選項(xiàng)按鈕組,然后再利用選項(xiàng)按鈕組生成器進(jìn)行設(shè)置。 打開選項(xiàng)組生成器對話框:用表單控件工具欄的選項(xiàng)按鈕組按鈕在表單中創(chuàng)建一個(gè)選項(xiàng)按鈕組,右擊選項(xiàng)按鈕組并選定快捷菜單的生成器命令。 在按鈕選項(xiàng)卡(參閱圖7.9)中進(jìn)行設(shè)置:在微調(diào)控件中將按鈕的數(shù)目置為4將表格標(biāo)題列中4項(xiàng)依次改為設(shè)備表、部門表、大修表和增值表。 在布局選項(xiàng)卡中進(jìn)行設(shè)置:將微調(diào)控件按鈕間隔置為10按確定按鈕關(guān)閉選項(xiàng)組生成器對話框?qū)⑦x項(xiàng)按鈕組移到表單左部適當(dāng)位置。 (4) 對其它控件的屬性進(jìn)行設(shè)置:見表7.12。 (5) O
15、ptiongroup1的Click事件代碼編寫如下: DO CASE CASE THIS.Value =1 & 選定Option1選項(xiàng)按鈕(設(shè)備表)時(shí)返回.T. SELECT SB & 選擇SB表所在工作區(qū) CASE THIS.Value =2 & 選定Option2選項(xiàng)按鈕(部門表)時(shí)返回.T. SELECT BMDM & 選擇BMDM表所在工作區(qū) CASE THIS.Value =3 & 選定Option3選項(xiàng)按鈕(大修表)時(shí)返回.T. SELECT DX & 選擇DX表所在工作區(qū) CASE THIS.Value =4 & 選定Option4選項(xiàng)按鈕(增值表)時(shí)返回.T. SELECT Z
16、Z & 選擇ZZ表所在工作區(qū) ENDCASE (6) Command1的Click事件代碼編寫如下: * 確定 IF THISFORM.Check1.Value=1 & Check1被選定時(shí)返回.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):一列可顯示表的一個(gè)字段,列由列標(biāo)題和列控件組成。 (3) 列標(biāo)題(Header1):默認(rèn)顯示字段名,允許修改。 (4) 列控件(例如Text1):一列必須設(shè)置一個(gè)列控件, 列控件默認(rèn)為文本框。 創(chuàng)建表格控件 在數(shù)據(jù)環(huán)境中將表窗口的標(biāo)題欄拖放到表單窗口 利用表格生成器創(chuàng)建 表格編輯,例7-14 設(shè)計(jì)一個(gè)如圖7.16所示的表單,要求能按部門瀏覽所有設(shè)備數(shù)據(jù)。 (1) 創(chuàng)建表單,并在數(shù)據(jù)環(huán)境中建立如圖7.17 所示4個(gè)表的兩級一多關(guān)系。 (2) 在表單上創(chuàng)建1個(gè)下拉列表框,2個(gè)標(biāo)簽,3個(gè)表格。表格控件可從數(shù)據(jù)環(huán)境創(chuàng)建,即將數(shù)據(jù)環(huán)境中SB窗口的標(biāo)題欄拖到表單釋放,從而產(chǎn)生GrdSb表格。然后可
18、用同樣方法創(chuàng)建表格GrdDx和GrdZz,如圖7.16所示。表格創(chuàng)建后按圖調(diào)整好表格位置、大小與列寬。 (3) 如圖7.16所示創(chuàng)建矩形框形狀控件,然后選定格式菜單的置后命令。 (4) 屬性設(shè)置:見表7.14。 (5) Combo1的Init事件: SELECT bmdm GO BOTTOM SKIP & 故意將記錄指針移到出界,以使表格在表單運(yùn)行之初顯示空白 (6) Combo1的Click事件: THISFORM.Label2.Caption=THISFORM.Combo1.Value+設(shè)備情況 & 標(biāo)題例如“一車間設(shè)備情況”,表7.14 “按部門瀏覽設(shè)備”屬性設(shè)置,頁框(Pagefram
19、e) 例7-15 在表單上創(chuàng)建一個(gè)如圖7.18所示含有兩個(gè)頁面的頁框,分別用來維護(hù)SB表和BMDM表。 (1) 在表單上創(chuàng)建一個(gè)頁框。 (2) 在數(shù)據(jù)環(huán)境中添加SB表和BMDM表。 (3) 頁面標(biāo)題設(shè)置:在頁框中選定Page1頁面,將頁面的Caption 值改為設(shè)備。以同樣方法將Page2頁面標(biāo)題改為部門。 (4) 在頁面中創(chuàng)建表格:在頁框中選定設(shè)備頁面,做一個(gè)從數(shù)據(jù)環(huán)境中SB窗口標(biāo)題欄到設(shè)備頁面的拖放動作,頁面中就會顯示關(guān)于SB表的表格。以同樣方法在部門頁面中創(chuàng)建關(guān)于BMDM 表的表格。,連接類 ActiveX控件(Olecontrol) 例7-16 用滑桿控件瀏覽設(shè)備表的設(shè)備名稱,要求滑桿
20、指向什么數(shù)值,就顯示記錄號為該數(shù)值的設(shè)備名。 (1) 在表單上創(chuàng)建1個(gè)文本框控件。 (2) 在表單上創(chuàng)建1個(gè)滑桿控件:從表單控件工具欄中選定ActiveX(Olecontrol)控件按鈕單擊表單下部某處在插入對象對話框中選定“插入控件”選項(xiàng)按鈕在控件類型列表中選定Microsoft Slider Control,version 6.0選項(xiàng)選定確定按鈕返回表單窗口(見圖7.20)。,(3) 在數(shù)據(jù)環(huán)境中添加SB表。 (4) 將Form1表單的Caption屬性設(shè)置為瀏覽設(shè)備名稱。 (5) Olecontrol1的Init事件代碼編寫如下: * 滑桿指針刻度范圍按表的記錄數(shù)設(shè)置 THIS.Min = 1 & 刻度值最小為1 THIS.Max = RECCOUNT() & 刻度值最大與記錄個(gè)數(shù)相同 (6) Olecontrol1的MouseMove事件代碼編寫如下: LPARAMETERS button, shift, x, y * 移動滑桿指針來顯示SB表的名稱字段值 * Olecontrol1:滑桿控件的Name * THISFORM.Olecontrol1.Value:滑桿指針?biāo)诳潭鹊闹?GO THISFORM.Olecontrol1.Value & 記錄指針指向滑桿指針?biāo)诳潭?THISFORM.Text1.Va
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)培訓(xùn)中教育機(jī)器人的作用與應(yīng)用趨勢研究
- 鹵肉加工企業(yè)培訓(xùn)課件
- 教育與科技的協(xié)同發(fā)展助力學(xué)生成長
- 在線直播教學(xué)中學(xué)生參與度的提升方法研究
- 中小學(xué)教輔材料征訂管理制度
- 以創(chuàng)新驅(qū)動未來-智能型學(xué)習(xí)工具如教育機(jī)器人的發(fā)展策略研究
- 技術(shù)助力辦公效率探討使用在線教育平臺的實(shí)踐和成效
- 全球鈾礦資源分布與核能產(chǎn)業(yè)產(chǎn)業(yè)鏈整合與風(fēng)險(xiǎn)研究報(bào)告
- 公交優(yōu)先戰(zhàn)略2025年城市交通擁堵治理的公共交通信息化建設(shè)報(bào)告
- Chitosan-Cy7-MW-10000-生命科學(xué)試劑-MCE
- 《養(yǎng)老護(hù)理員》-課件:協(xié)助臥床老年人使用便器排便
- 調(diào)節(jié)閥培訓(xùn)課件
- 日立電梯小組慢車調(diào)試培訓(xùn)教材(MCA)
- 30萬噸年合成氨、52萬噸年尿素工程可行性研究報(bào)告
- 2020年12月9日湖北武漢黃陂區(qū)社區(qū)干事招聘筆試試題
- 解熱鎮(zhèn)痛抗炎藥非甾體抗炎藥專家講座
- DB44-T 2410-2023紅樹林生態(tài)修復(fù)工程評價(jià)技術(shù)規(guī)程
- YY/T 1830-2022電動氣壓止血儀
- 臨床、口腔醫(yī)師申報(bào)衛(wèi)生高級職稱工作量登記表
- 2023年納雍縣財(cái)政局系統(tǒng)事業(yè)單位招聘筆試題庫及答案解析
- 2023年廣東省普通高中學(xué)業(yè)水平考試及參考答案
評論
0/150
提交評論