




已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第七章 表單控件設(shè)計(jì),表單控件可分為5大類 (1)輸出類:標(biāo)簽,圖象,線條,形狀 (2)輸入類:文本框,編輯框,微調(diào)按鈕,列表框,組 合框 (3)控制類:命令按鈕,命令按鈕組,復(fù)選框,選項(xiàng)按 鈕組,計(jì)時(shí)器 (4)容器類:表格,頁框,Container容器 (5)連結(jié)類:ActiveX控件,ActiveX綁定控件,超級(jí)鏈 接 每個(gè)控件均具有若干特征屬性,有相同也有差別,通過屬性設(shè)置可以設(shè)計(jì)出滿足要求的控件。,7.1 輸出類控件,輸出類控件用于在表單上設(shè)置文本和圖形 7.1.1 標(biāo)簽 用于在表單上顯示提示或說明 一、標(biāo)簽的標(biāo)題 Caption屬性指定標(biāo)簽的標(biāo)題,即顯示的文本內(nèi)容 修改方法: (1)屬性窗口修改Caption屬性 (2)代碼命令: THISFORM.LABEL1.Caption=“文本內(nèi)容” (3)變量設(shè)置: THISFORM.LABEL1.Caption=mc, mc 是一個(gè)字符型公共變量,二、部分屬性,(1)AutoSize(大小設(shè)置): 邏輯型,.T.表示自動(dòng)調(diào) 整大小與文本內(nèi)容所占空間一致 (2)BackStyle(背景設(shè)置): 0(透明),1(不透 明) (3)BolderStyle(邊框特性): 0(無(默認(rèn)值), 1(固定單線) 用戶設(shè)置過的屬性將以粗體顯示,7.1.2 圖象、線條與形狀,一、圖象 Picture屬性可在表單上創(chuàng)建圖象,類型可以為 .BMP,.ICO,.GIF,.JPG等 Picture屬性修改方法: (1)屬性窗口設(shè)定 (2)代碼命令 THISFORM.Image1.Picture=“c:Program FilesMicrosoft Visual StudioVfp98fox.bmp” P201表7-1提供了各類圖象的位置,文件夾與VFP的安裝位置有關(guān)。如上例,二、線條,線條用來在表單上顯示斜線、水平線和垂直線 1、斜線 (1)創(chuàng)建時(shí),默認(rèn)為左上角至右下角的一條斜線 (2)傾斜度與Width屬性和Height屬性有關(guān) (3)LineSlant屬性:“”左上角至右下角,“/”右上角 至左下角 2、水平線和垂直線 調(diào)整線條控件區(qū)域使對(duì)應(yīng)邊重合,或調(diào)整Width屬性和Height屬性值,見P202表7-2,三、形狀,用來顯示各種類型形狀:矩型、圓角矩型、正方形圓 角正方形或圓 形狀類型與Curvature、Width和Height屬性有關(guān),見 P202表7-3 P203 例7-1 (1)創(chuàng)建表單FM.SCX (2)在表單上創(chuàng)建標(biāo)簽Label1和形狀Shape1各一個(gè). (3)設(shè)置屬性,見P203表7-4 (4)將封面的文字置前于橢圓:選定Label1,在布局 工具欄選定“置前”按鈕。,(5)Form1的Activate事件代碼編寫如下:,thisform.shape1.width=thisform.label1.width*1.3 thisform.shape1.height=thisform.label1.height*2 x=thisform.width/2 y=thisform.height/4 thisform.shape1.left=x-thisform.shape1.width/2 thisform.shape1.top=y thisform.label1.left=x-thisform.label1.width/2 thisform.label1.top=y+thisform.shape1.height/2- ; thisform.label1.height/2,(6) Form1的RightClick事件代碼編寫如下:,thisform.release 表單運(yùn)行后屏幕顯示如下,按鼠標(biāo)右鍵推出,7.2 輸入類控件,7.2.1 文本框 文本框供用戶輸入或編輯數(shù)據(jù) 一、文本框的值 Value屬性值為文本框的值,并顯示 修改方法: (1)屬性窗口修改Value屬性 (2)代碼命令: THIS.Value=“VFP“ 或 thisform.text1.value=“VFP“,Value值類型:,數(shù)值型0、字符型無、日期型、邏輯型.F. 二、焦點(diǎn) 焦點(diǎn)(Focus):用戶操作指定的對(duì)象就是焦點(diǎn)所在。 焦點(diǎn)標(biāo)志:光標(biāo)或須線框 焦點(diǎn)的變化 (1)TAB鍵 (2)鼠標(biāo)單擊對(duì)象 (3)代碼 Control.Setfocus 例: THISFORM.Text1.SetFocus,IMEMode屬性值,0:無控制 1:打開IMM 2:關(guān)閉IMM IMEMode屬性設(shè)置為1后,一旦該文本框控件獲得焦點(diǎn),就打開中文輸入法窗口(多為微軟拼音輸入法) Visible(可見)屬性值 Enabled(可用)屬性,要使控件能獲得Focus, Enabled和Visible均應(yīng)設(shè)定為.T.,三、控件與數(shù)據(jù)綁定,控件的數(shù)據(jù)綁定指將控件與某個(gè)數(shù)據(jù)源聯(lián)系起來 ControlSource屬性: (1)字段:控件的值由字段決定 (2)變量:控件的值由變量決定 四、文本框生成器 文本框生成器是用戶設(shè)定屬性的向?qū)?,其打開方式為單擊文本框?qū)ο髶粲沂髽?biāo)鍵“快捷”菜單“生成器”命令 文本框生成器有三個(gè)選項(xiàng)卡,1、格式選項(xiàng)卡,4種類型:數(shù)值,字符,日期和邏輯,只對(duì)字符型數(shù)據(jù),等于Format屬性設(shè)置為A,只對(duì)數(shù)值數(shù)據(jù),相當(dāng)于Format屬性設(shè)置為L,只對(duì)字符型數(shù)據(jù),等于Format屬性設(shè)置為K,對(duì)應(yīng)HideSelection屬性(失去焦點(diǎn)時(shí)隱藏選定數(shù)據(jù)),對(duì)應(yīng)屬性 Enabled,ReadOnly屬性,選定或設(shè)置輸入掩碼串,相當(dāng)于屬性 InputMask,2、樣式選項(xiàng)卡,SpecialEffects=3D,SpecialEffects=Plain,BolderStyle=1,BolderStyle=0,左對(duì)齊 右對(duì)齊 居中對(duì)齊 自動(dòng),自動(dòng)調(diào)整文本框大小使其恰好容納數(shù)據(jù),3、值選項(xiàng)卡,可利用該組合框的列表指定表或視圖中的字段,被指定的字段將用來存儲(chǔ)文本框的內(nèi)容,相當(dāng)于通過設(shè)置ControlSources屬性來進(jìn)行數(shù)據(jù)綁定,7.2.2 編輯框,編輯框用于輸入或更改文本,并準(zhǔn)許輸入多段文字。 編輯框與文本框的區(qū)別: (1)編輯框只用來輸入或編輯字符型數(shù)據(jù),而文本框 適用于四種數(shù)據(jù)類型 (2)文本框只輸入一段數(shù)據(jù),而編輯框可以輸入多段 文字。 P208 例7-2 (1)創(chuàng)建表單,并建立編輯框Edit1和文本框Text1 (2)在數(shù)據(jù)環(huán)境添加SB表,將Edit1與備注字段SB.備 注綁定(設(shè)置ControlSorce屬性),(3)Edit1的LostFocus事件代碼 this.hideselection=.f.,(4)Text1的GotFocus事件代碼 this.value=thisform.edit1.seltext (5)執(zhí)行代碼 編輯框顯示SB表的第一個(gè)記錄的備注字段內(nèi)容,選 定一些文字后單擊文本框,文本框內(nèi)會(huì)顯示所選文字 注釋 (1)刪除在Edit1中選定的文本 THISFORM.Edit1.seltext=“ (2)將Edit1中所選的文本送剪貼板 _CLIPTEXT=THISFORM.Edit1.seltext,7.2.3 列表框與組合框,列表框與組合框都有一個(gè)供用戶選擇的列表,區(qū)別在于: (1)列表框任何時(shí)候都顯示它的列表,而組合框平時(shí)只 顯示一個(gè)項(xiàng) (2)組合框又可分為下拉組合框(準(zhǔn)許輸入數(shù)據(jù))與下 拉列表框;而列表框僅有選項(xiàng)功能。 一、列表框生成器 其含有四個(gè)選項(xiàng)卡,打開方法:創(chuàng)建一個(gè)列表框,單擊 之,快捷菜單“生成器”命令,1、“列表項(xiàng)”選項(xiàng)卡 (1)表或視圖中的字段,三種類型數(shù)據(jù),數(shù)據(jù)庫選擇組合框,該種數(shù)據(jù)類型相當(dāng)于:RowSourceType: 6-字段(數(shù)據(jù)源類型); RowSource: 逗號(hào)分隔的字段(指定列表項(xiàng)的數(shù)據(jù)源),列表框的每一項(xiàng):按所選字段的次序顯示字段值; 返回值:所選項(xiàng)中第一列字段值,能將字段值填充到列表框,(2)手工輸入數(shù)據(jù),準(zhǔn)許在設(shè)計(jì)時(shí)鍵如數(shù)據(jù),并填充到列表框,表格供用戶在單元鍵入數(shù)據(jù),一行為一選項(xiàng),列寬可調(diào)整,該種數(shù)據(jù)類型相當(dāng)于:RowSourceType: 1-值(數(shù)據(jù)源類型); RowSource: 逗號(hào)分隔的數(shù)據(jù)(指定列表項(xiàng)的數(shù)據(jù)源),調(diào)整列數(shù),相當(dāng)于設(shè)置屬性ColumnCount,(3)數(shù)組中的值,準(zhǔn)許將數(shù)組內(nèi)容或某一部分填充到列表框,指定數(shù)組的名稱,數(shù)組須由程序代碼建立,當(dāng)選定“某一范圍的數(shù)組”時(shí),用此調(diào)整列和行范圍,當(dāng)選定“某一范圍的數(shù)組”時(shí),用此調(diào)整列和行范圍,相當(dāng)于:RowSourceType: 5-數(shù)組(數(shù)據(jù)源類型); RowSource: 數(shù)組名a(指定列表項(xiàng)的數(shù)據(jù)源);FirstElement: 1; NumberOfElement:=ALEN(a); ColumnCount:=Alen(a,2),ALEN(,) 數(shù)字=0或缺省,返回?cái)?shù)組元素?cái)?shù);數(shù)字=1,返回?cái)?shù)組行數(shù);數(shù)字=2,返回?cái)?shù)組列數(shù);,P211 例7-3 (1)在表單建立一個(gè)列表框和一個(gè)文本框控件 (2)在列表框生成器選定 “表或視圖中的字段”選項(xiàng) 選擇SB表將“編號(hào)”和“名稱”字段添入字段列表“確定” 按鈕 (3)List1的InteractiveChange事件代碼 THISFORM.Text1.Value=THIS.Value InteractiveChange事件在用戶按鍵盤或鼠標(biāo)鍵時(shí)被觸 發(fā),(4)表單執(zhí)行結(jié)果 DO FORM E7-3,單擊某選項(xiàng),該行第1列值(編號(hào))即顯示在文本框,2、“樣式”選項(xiàng)卡 指定列表框的樣式、所顯示的行數(shù),是否遞增搜索,行數(shù)調(diào)整,樣式選擇,3、“布局”選項(xiàng)卡 控制列表的列寬和顯示,選定則能根據(jù)“列表項(xiàng)”選項(xiàng)卡指定的列數(shù)自動(dòng)調(diào)整列表框的寬度(Width屬性),可用鼠標(biāo)拖動(dòng)標(biāo)頭右邊的列間隔線來調(diào)整列寬(修改ColumnWidths屬性);雙擊列標(biāo)頭可選擇是否隱藏該列顯示,4、“值”選項(xiàng)卡,用來指定返回值和存儲(chǔ)返回值的字段,決定返回值的字段或列(屬性BoundColumn),指定存儲(chǔ)返回值的字段(屬性ControlSource),二、控件值源的類型,列表框可以填充9種類型數(shù)據(jù)(前面涉及3種),具體由 RowSourceType屬性指定。見P212表7-5,三、組合框,組合框供用戶在其列表中選項(xiàng),或人工鍵入一個(gè)值 組合框的Style屬性將該控件分為兩種類型,見P213表7-6 P213 例7-4 (1)在表單上創(chuàng)建兩個(gè)標(biāo)簽,1個(gè)列表框和一個(gè)組合框 (2)在數(shù)據(jù)環(huán)境添加SB表和BMDM表(若有聯(lián)結(jié)則刪除) (3)屬性設(shè)置,見P213表7-7 (4)Combo1的InteractiveChange事件代碼 THISFORM.LIST1.Refresh (5)Form1的Init事件代碼 THISFORM.Combo1.Enabled=.F.,(6)List1的InteractiveChange事件代碼 THISFORM.Combo1.Enabled=.T.,(7)List1的Init事件代碼 SET ORDER TO TAG 編號(hào) (8)表單執(zhí)行,先點(diǎn)擊列表框某選項(xiàng)確定所需要的記錄,然后打開組合框列表,從中選一項(xiàng)代替SB中的部門字段值,四、屬性與方法程序選介,1、ListCount屬性 返回組合框或列表框中列表項(xiàng)的個(gè)數(shù)。運(yùn)行時(shí)只讀 Control. ListCount 2、ListIndex屬性 返回或設(shè)置組合框(列表框)列表顯示時(shí)選定的順序號(hào),運(yùn)行時(shí)可讀寫 Control. ListIndex=nIndex,要設(shè)置的順序號(hào),取值范圍1-ListCount之間,缺省0,本屬性用順序號(hào)表示某項(xiàng)已經(jīng)選定,對(duì)于下拉組合框,當(dāng)列表中沒有與鍵入值相同的項(xiàng)時(shí)就返回0,3、Selected屬性,用于分辨組合框或列表框中某一列表項(xiàng)是否被選中, 當(dāng)選中時(shí)Selected屬性返回.T.,否則返回.F. Form.Control.Selected(nIndex)=1Expr,列表項(xiàng)的顯示順序號(hào),可取.T.或.F.,用來設(shè)置屬性值,本屬性設(shè)計(jì)時(shí)不可用,運(yùn)行時(shí)可讀寫,4、AddItem方法,當(dāng)組合框或列表框的RowSourceType屬性為0時(shí),使用 本方法程序可在其列表中添加一個(gè)新項(xiàng) Control.AddItem(cItem,nIndex,nColumn),新項(xiàng)的字符表達(dá)式,新項(xiàng)的位置,放置新項(xiàng)的列,確省為1,若nIndex缺省,當(dāng)Sorted屬性為.T.時(shí)新項(xiàng)將按字母順序插入列表,否則添加到表末尾,P216 例7-5,(1)在表單上建立一個(gè)列表框和一個(gè)標(biāo)簽 (2)Label1屬性設(shè)置 AutoSize: .T. (3)List1屬性設(shè)置 RowSourceType: 0 MoverBars: .T. (4)List1的Click事件代碼 FOR i=1 TO THIS.ListCount IF THIS.Selected(i)=.T. THISFORM.Label1.Caption=STR(I,1)+SPACE(1)+THIS.Value ENDIF ENDFOR,(5)List1的Init事件代碼,THIS.Additem(“音樂“) THIS.Additem(“上網(wǎng)“) THIS.Additem(“文學(xué)“) THIS.Additem(“攝像“) THIS.Picture(1)=“c:Program FilesMicrosoft Visual ; StudioVfp98GALLERYGRAPHICSMUSIC.ICO“ THIS.Picture(2)=“c:Program FilesMicrosoft Visual ; StudioVfp98GALLERYGRAPHICSINTERNET.ICO“ THIS.Picture(3)=“c:Program FilesMicrosoft Visual ; StudioVfp98GALLERYGRAPHICSCLASSLIB.ICO“ THIS.Picture(4)=“c:Program FilesMicrosoft Visual ; StudioVfp98GALLERYGRAPHICSVIDEO.ICO“ THIS.Listindex=1,(5)表單運(yùn)行,表單運(yùn)行后,單擊第三項(xiàng),5、Value與DisplayValue屬性,Value屬性返回在列表中選定的項(xiàng),DisplayValue屬性 則返回組合框中鍵入的文本 P217 例7-6 (1)在表單創(chuàng)建一個(gè)組合框和一個(gè)文本框 (2)Combo1屬性設(shè)置 Style: 0 RowSourceType: 6 RowSource: SB.編號(hào),(3)Combo1的KeyPress事件代碼,LPARAMETERS nKeyCode, nShiftAltCtrl IF nKeyCode=13 IF THIS.ListIndex=0 THIS.RowSourceType=0 THIS.AddItem(THIS.DisplayValue) THIS.Value=THIS.DisplayValue INSERT INTO c:VFPEXSB(編號(hào)) ; VALUES(THIS.DisplayValue
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《微處理器基礎(chǔ)》課件
- 2025商場店鋪?zhàn)赓U合同樣本下載
- 2025年無勞動(dòng)合同也可享受失業(yè)保險(xiǎn)福利
- 2025年浙江省采購合同范本
- 《財(cái)務(wù)記賬教程》課件
- 2025培訓(xùn)機(jī)構(gòu)買賣合同范本
- 2025年土地流轉(zhuǎn)個(gè)人合同樣本
- 2025木材購銷合同協(xié)議范本
- 汽輪機(jī)培訓(xùn)教材
- 《演示藍(lán)天的課件示例》
- YS/T 1161.3-2016擬薄水鋁石分析方法第3部分:孔容和比表面積的測定氮吸附法
- GB/T 4937.11-2018半導(dǎo)體器件機(jī)械和氣候試驗(yàn)方法第11部分:快速溫度變化雙液槽法
- GB/T 3906-20203.6 kV~40.5 kV交流金屬封閉開關(guān)設(shè)備和控制設(shè)備
- 跨越學(xué)習(xí)高原期-高中心理健康主題班會(huì)
- 博物館藏品庫房管理課件
- 電梯井內(nèi)腳手架搭拆施工專項(xiàng)方案
- 涉外商標(biāo)實(shí)務(wù)培訓(xùn)課件
- 社會(huì)研究方法復(fù)習(xí)資料(風(fēng)笑天版)
- 《青年友誼圓舞曲》音樂課件
- 博士后出站研究報(bào)告
- 中華人民共和國海關(guān)進(jìn)出境自用物品申請(qǐng)表
評(píng)論
0/150
提交評(píng)論