第十章、十一章 表單_第1頁
第十章、十一章 表單_第2頁
第十章、十一章 表單_第3頁
第十章、十一章 表單_第4頁
第十章、十一章 表單_第5頁
已閱讀5頁,還剩92頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第十章面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)表單(Form)

是VFP提供的用于建立應(yīng)用程序界面的最主要的工具之一。它是包含命令按鈕、文本框、列表框等各種界面元素的標準窗口或?qū)υ捒?。對象(Object)

客觀世界里的任何實體都可以看作是對象。它可以是具體的物,也可以指某些概念。例某一學生第十章面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)類(Class)

是具有相同屬性特征和行為規(guī)則的多個“對象”的一種統(tǒng)一描述。例:學生 “對象”則是“類”的一個實例,“對象”一定具有其所屬“類”的共同特征與行為規(guī)則,當然一個“對象”還可以具有其所屬“類”未曾規(guī)定的特征和行為規(guī)則。

第十章面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)子類與繼承

繼承是指在基于現(xiàn)有的類創(chuàng)建新類時,新類繼承了現(xiàn)有類里的方法和屬性。把新類稱為現(xiàn)有類的子類,現(xiàn)有類稱為新類的父類。 子類可以包括從其父類繼承的屬性和方法,也可以添加新的方法和屬性。例:計算機學院的學生VFP的類——基類

系統(tǒng)本身內(nèi)含的,并不存放在某個類庫中。VFP的基類分為兩個大類:容器和控件(見:表單控件常用工具欄)。

第十章面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)控件類 在該“類”中不能包含其他類,最典型的控件類就是命令按鈕。容器類

一種特殊的控件,可以包含其他控件或容器,并且允許訪問這些對象。例如:命令按鈕組,選項按鈕組,表格,頁框,表單等。第十章面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)容器中對象的引用格式:Object1.Object2說明:Object1、Object2是對象名字,其中Object1是Object2的“父容器”,“對象”與其“父容器”間用一個小數(shù)點(.)分隔。第十章面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)幾個代詞的用法This:表示對象本身Parent:表示對象的“父容器”對象ThisForm:表示對象所在的表單ThisFormSet:表示對象所在的表單所屬的表單集第十章面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)事件

是由外部實體作用在“對象”上的一個動作。最常見的“事件”:鼠標“單擊”、“雙擊”、“拖放”或修改對象數(shù)據(jù)等等。 當作用在對象上的某個設(shè)定“事件”發(fā)生時,與該事件相聯(lián)系的“方法程序”就運行并完成該程序的功能方法

用來描述對象的行為過程。程序表現(xiàn)為函數(shù)。如表單的釋放:release第十章面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)教學目的:掌握表單設(shè)計的常用控件教學重點:表單設(shè)計中代碼的編寫教學時數(shù):5學時第十一章表單設(shè)計與應(yīng)用第十一章表單設(shè)計與應(yīng)用11.1表單的建立與運行11.1.1用表單設(shè)計器建立表單方法1:“文件”菜單——“新建”——文件類型為“表單”——“新建文件”。方法2:“項目管理器”——“文檔”選項卡——“表單”——“新建”按鈕——在“新建表單”對話框中選擇“新建表單”。方法3:在命令窗口輸入CREATEFORM命令。表單文件擴展名為.scx備注文件擴展名為.sct(1)表單設(shè)計器窗口(2)屬性設(shè)置窗口(3)表單控件工具欄(4)“表單”菜單項(5)表單設(shè)計器工具欄1.表單設(shè)計器環(huán)境①設(shè)置tab次序:重新設(shè)置表單中每個控件的訪問的先后次序。設(shè)置方法:雙擊設(shè)置為1,單擊可以按照順序為該控件設(shè)置相應(yīng)的號碼。②數(shù)據(jù)環(huán)境:每一個使用了數(shù)據(jù)表的表單都包括一個數(shù)據(jù)環(huán)境。數(shù)據(jù)環(huán)境是一個容器對象,它用來定義與表單相聯(lián)系的數(shù)據(jù)實體(表、視圖)的信息及其相互聯(lián)系。數(shù)據(jù)環(huán)境容器一般包含:一到多個游標(Cursor)類對象關(guān)系(Relation)類對象2.表單設(shè)計器工具欄的初步認識③屬性窗口:用于設(shè)置對象屬性。④代碼窗口:分對象和過程兩個可選部分,空白部分用來編輯程序代碼。⑤表單控件工具欄:選中控件,并在表單中單擊或拖動可以產(chǎn)生相應(yīng)的控件。⑥調(diào)色板工具欄:編輯控件的前景色和背景色。⑦布局工具欄:調(diào)整控件在表單中的對齊位置。⑧表單生成器:向表單中添加字段和定義表單的樣式。⑨自動格式:設(shè)置表單中控件的樣式。2.表單設(shè)計器工具欄的初步認識3.表單中的對象設(shè)計(1)向表單中加入對象(2)刪除表單中的對象(3)在表單中進行對象屬性設(shè)定(4)為表單中的對象設(shè)計代碼4.表單設(shè)計的基本步驟(1)進行規(guī)劃,最好畫一張草圖,在上面標出各對象的位置、標題、所屬父類、對象的大致作用、表單中要使用的表、表間的對應(yīng)關(guān)系以及對象間的相互協(xié)調(diào)與支持。(2)打開表單設(shè)計器窗口。(3)如果表單要使用到表,需要首先為表單建立“數(shù)據(jù)環(huán)境”。(4)在表單中加入其他對象并進行布局排列。(5)建立對象與表的對應(yīng)關(guān)系。建立對象與表的對應(yīng)關(guān)系:可以與表字段進行聯(lián)系的對象有:表格(Grid)、文本框(TextBox)、編輯框(EditBox)、列表框(ListBox)等等。建立這類對象與數(shù)據(jù)表字段的關(guān)聯(lián)的方法是:①文本框、編輯框、列表框ControlSource屬性——數(shù)據(jù)表的對應(yīng)字段名。②表格表格是一種容器對象,其成員對象是列,默認的對象名是Column1、Column2等,而列也是一個容器對象,其成員對象是Header和Text。

Grid:RecordSource、RecordSourceType、ColumnCountColumn.Header:CaptionColumn.text:ControlSource(6)編寫事件代碼4.表單設(shè)計的基本步驟11.1.2用表單向?qū)Ы⒈韱蜼isualFoxPro中有兩個表單向?qū)?,各種向?qū)⒌谋韱卧湍軌蛲瓿桑海?)表單向?qū)В赫麄€表單針對一個數(shù)據(jù)表進行諸如查詢、修改、插入、刪除等操作;(2)一對多表單向?qū)В赫麄€表單針對兩個數(shù)據(jù)表,而且這兩個數(shù)據(jù)表間存在一對多的關(guān)系。11.1.3表單的運行

有3種方法可以運行表單:(1)直接使用命令。在命令窗口,直接輸入命令:

DOFORM<表單名>(2)“表單”菜單——“執(zhí)行表單”命令,或單擊工具欄中!。(3)“程序”菜單——“運行”命令。(4)在項目管理器中,選中“文檔”選項卡并指定要運行的表單,單擊“運行”按鈕。第十一章表單設(shè)計與應(yīng)用11.2表單的操作11.2.1表單的屬性主要屬性:BackColor:背景顏色。Caption:標題。Closable:通過“關(guān)閉”按鈕來關(guān)閉表單。MaxButton:最大化按鈕MinButton:最小化按鈕Movable:是否移動WindowsState:控制表單是最大化、最小化還是正常狀態(tài)TitleBar:標題欄是否可見11.2.2表單的事件與方法1.Init事件:創(chuàng)建表單時觸發(fā)該事件,從而執(zhí)行為該事件編寫的代碼。Init代碼通常用來完成一些關(guān)于表單的初始化工作。2.Destory事件:釋放表單時觸發(fā)該事件,該方法代碼通常用來進行文件關(guān)閉,釋放內(nèi)存變量等工作。3.Click事件:單擊。4.Show和Hide是一對方法,表單可見與隱藏。5.Release方法從內(nèi)存中釋放表單。6.Refresh方法刷新表單數(shù)據(jù)。第十一章表單設(shè)計與應(yīng)用11.3 常用表單控件11.3.1標簽控件標簽是通常被用做提示或標題的控件。常用屬性:Caption:文本內(nèi)容Forecolor:字體顏色Fontname:選字體Fontsize:選字號BackStyle確定標簽是否透明Alignment:設(shè)置文本對齊方式AutoSize:自動調(diào)整控件大小以容納其內(nèi)容WrapWord:指定AutoSize為.t.的標簽控件是沿縱向擴展還是沿橫向擴展。例1表單中有3個標簽,當用鼠標單擊任何一個標簽時,其它兩個標簽的標題文本互換。11.3.1標簽控件設(shè)計步驟:(1)createformbd1——創(chuàng)建一個新的表單,進入表單設(shè)計器。(2)表單中加入一個標簽控件Label1。(3)設(shè)置它的屬性如表所示:11.3.1標簽控件對象屬性屬性值說明Label1Caption歡迎使用VisualFoxPro標簽的內(nèi)容Alignment2-中央文本居中對齊Fontsize40字體的大小Backstyle0-透明背景類型fontname隸書設(shè)置字體forecolor255,0,0字體顏色11.3.1標簽控件(4)選中Label1后,單擊“編輯”菜單中的“復(fù)制”,再選擇“編輯”菜單中的“粘貼”,將Label1復(fù)制二個副本Label2、Label3。將Caption屬性修改如圖所示。(5)編寫代碼:Label1的Click事件代碼:t=thisform.label2.captionthisform.label2.caption=thisform.label3.captionthisform.label3.caption=tLabel2的Click事件代碼:t=thisform.label1.captionthisform.label1.caption=thisform.label3.captionthisform.label3.caption=tLabel3的Click事件代碼:t=thisform.label1.captionthisform.label1.caption=thisform.label2.captionthisform.label2.caption=t11.3.1標簽控件常用顏色代碼參考表:黑:0,0,0紅:255,0,0黃:255,255,0白:255,255,255藍:0,0,255青:0,255,255灰:192,192,192綠:0,255,0洋紅:255,0,255深灰:128,128,12811.3.2命令按鈕控件常用屬性:Caption:按鈕上的標題(用\<加快捷鍵)。Picture:按鈕上顯示的圖片。Enabled:.T.有效,.F.無效--灰色。Visible:.T.可見,.F.隱藏。常用事件:Click:單擊鼠標左鍵時發(fā)生的事件。

例2

交換兩個變量中的數(shù)據(jù)。11.3.2命令按鈕控件對象屬性屬性值說明Label1CaptionA=標簽的內(nèi)容Fontsize15字體大小Backstyle0-透明背景類型Autosize.T.-真自動調(diào)整大小Forecolor藍色字體顏色Label2Caption1234標簽的內(nèi)容Label3CaptionB=標簽的內(nèi)容Label4Caption4444標簽的內(nèi)容Command1Caption交換按鈕的標題設(shè)計步驟:打開表單設(shè)計器,增加一個命令按鈕、4個標簽。11.3.2命令按鈕控件(3)編寫程序代碼:編寫命令按鈕Command1的Click事件代碼:t=thisform.label2.captionthisform.label2.caption=thisform.label4.captionthisform.label4.caption=t

11.3.2命令按鈕控件11.3.3文本框和編輯框控件1.文本框是用來在應(yīng)用程序與用戶之間進行數(shù)據(jù)交互的一種常用工具。它允許用戶添加或編輯保存在表中非備注字段中的數(shù)據(jù)。文本框可以編輯數(shù)值型、字符型、日期型或邏輯型4種類型之一,并且它只能在一個段落輸入數(shù)據(jù)。常用屬性:Controlsource:定義數(shù)據(jù)源。Inputmask:定義輸入格式。Value:定義初值。Passwordchar定義占位符。例3:利用文本框輸入圓的半徑,計算出圓的面積,如圖所示:11.3.3文本框和編輯框控件設(shè)計步驟:(1)選擇“新建”表單,進入表單設(shè)計器,增加兩個“文本框”控件Text1和Text2,兩個標簽控件Label1和Label2,一個“命令按鈕”Command1。(2)各控件屬性如下:

11.3.3文本框和編輯框控件對象屬性屬性值說明Form1Caption計算圓的面積表單的標題backcolor64,128,128表單的背景顏色Label1Caption請輸入圓的半徑:標簽的內(nèi)容Fontsize16字體大小Backstyle0-透明背景類型Autosize.T.-真自動調(diào)整大小Forecolor藍色字體顏色fontname黑體設(shè)置字體Label2Caption圓的面積為:標簽的內(nèi)容Text1Alignment0-左文本對齊方式Inputmask999.99只能輸入5位數(shù)Value0文本初值為0Text2Readonly.T.-真文本內(nèi)容只讀Tabstop.F.-假光標不停留Value0文本初值為0Command1Caption計算按鈕的標題11.3.3文本框和編輯框控件(3)編寫程序代碼。編寫Command1的Click事件代碼:a=thisform.text1.valuethisform.text2.value=round(a^2*3.14,2)11.3.3文本框和編輯框控件例4.用表單設(shè)計一個登錄界面,當用戶輸入用戶名和口令并按確認鍵后,檢驗其輸入是否正確,若正確(假定用戶名為ABCDEF,口令為123456),就顯示“歡迎使用……”字樣并關(guān)閉表單;若不正確,則顯示“用戶名或口令不對,請重輸……”字樣;如果三次輸入不正確,就顯示“用戶名或口令不對,登錄失敗!”字樣并關(guān)閉表單。11.3.3文本框和編輯框控件操作步驟:(1)創(chuàng)建表單,在表單上添加兩個標簽、兩個文本框和一個命令按鈕。(2)設(shè)置Text2的InputMask屬性為:999999,PasswordChar:*。(3)從“表單”菜單選擇“新建屬性”命令,為表單添加一個新屬性num,初值為0,用來保存本次登錄輸入的次數(shù)。(4)設(shè)置命令按鈕的Click事件代碼。(如下)11.3.3文本框和編輯框控件Click事件代碼。ifthisform.text1.value="ABCDEF".and.thisform.text2.value="123456"wait"歡迎使用……"windowtimeout1thisform.releaseelsethisform.num=thisform.num+1ifthisform.num=3wait"用戶名或口令不對,登錄失?。?windowtimeout1thisform.releaseelsewait"用戶名或口令不對,請重輸……"windowtimeout1endifendif11.3.3文本框和編輯框控件2.編輯框控件與文本框相似,也是用來輸入用戶的數(shù)據(jù)。編輯框只能輸入、編輯字符型數(shù)據(jù),包括字符型變量、數(shù)組元素、字段以及備注字段的內(nèi)容,它可以輸入多段文字。其特點是一個完整的字處理器。

11.3.3文本框和編輯框控件例5:求100到1000之間能被37整除的數(shù),要求在編輯框中顯示輸出結(jié)果,并通過命令按鈕來控制輸出。11.3.3文本框和編輯框控件操作步驟:(1)新建一個表單,添加一個標簽控件Label1、一個編輯框控件Edit1和二個命令按鈕Command1、Command2。(2)分別設(shè)置它們的屬性:對象屬性屬性值Label1Caption100到1000之間能被37整除的數(shù)

Autosize.T.-真Edit1Fontsize12Command1Caption開始

Command2Caption退出

11.3.3文本框和編輯框控件(3)設(shè)置命令按鈕Command1的Click事件代碼k=0forx=100to1000ifx%37=0thisform.edit1.value=thisform.edit1.value+str(x,5)k=k+1ifk%5=0thisform.edit1.value=thisform.edit1.value+chr(13)endifendifendf設(shè)置命令按鈕Command2的Click事件代碼releasethisform11.3.3文本框和編輯框控件11.3.4命令按鈕組控件可以將命令按鈕組成一組,對組中的按鈕即可單獨操作,也可作為一個組來統(tǒng)一操作。缺省為兩個按鈕。1.常用屬性:ButtonCount:容器中按鈕的個數(shù)。Value:選中的按鈕的排列順序數(shù)。如第7個按鈕,Value的值即為7。tooltiptext:按鈕提示。(此項有效,必須將form下的showtips設(shè)置為真)2.命令按鈕生成器3.事件代碼:既可為每個按鈕單獨設(shè)計事件代碼,也可以為整個按鈕組設(shè)計一個事件代碼,當一個事件(如Click)在組中的某個按鈕上發(fā)生時,命令按鈕組的Value屬性指明該事件發(fā)生在哪個按鈕。例6:編一個任意給定的兩個數(shù)做運算的程序。11.3.4命令按鈕組控件步驟如下:(1)新建一個表單;添加三個標簽控件Label1~Label3;三個文本框控件Text1~Text3;一個命令按鈕組Commandgroup1。(2)分別設(shè)置它們的屬性:11.3.4命令按鈕組控件對象屬性屬性值說明Label1Caption第一個數(shù):標簽的內(nèi)容Label2Caption第二個數(shù):標簽的內(nèi)容Label3Caption結(jié)果:標簽的內(nèi)容Text1Value0文本初值為0Text2Value0文本初值為0Text3Value0文本初值為0Readonly.T.-真文本內(nèi)容只讀Tabstop.F.-假光標不停留Cmand1Caption+按鈕的標題Cmand2Caption-按鈕的標題Cmand3Caption*按鈕的標題Cmand4Caption/按鈕的標題11.3.4命令按鈕組控件(3)編寫代碼:設(shè)置命令按鈕command1的click事件代碼:thisform.text3.value=thisform.text1.value+thisform.text2.valuethisform.text1.setfocus設(shè)置命令按鈕command2的click事件代碼:thisform.text3.value=thisform.text1.value-thisform.text2.valuethisform.text1.setfocus設(shè)置命令按鈕command3的click事件代碼:thisform.text3.value=thisform.text1.value*thisform.text2.valuethisform.text1.setfocus設(shè)置命令按鈕command4的click事件代碼:thisform.text3.value=thisform.text1.value/thisform.text2.valuethisform.text1.setfocus11.3.4命令按鈕組控件例7:建立一個如圖所示的成績表瀏覽表單。11.3.4命令按鈕組控件步驟如下:新建一個表單文件,在數(shù)據(jù)環(huán)境中添加所需的數(shù)據(jù)表:學生表(2)將學生表中的姓名、性別和入學成績字段拖入表單中且排列好。(3)添加一個命令按鈕組。11.3.4命令按鈕組控件設(shè)置命令按鈕組commandgroup1的click事件代碼:docasecasethis.value=1skip-1ifbof()gotopendifthisform.refreshcasethis.value=2skip1ifeof()gobottomendifthisform.refreshcasethis.value=3thisform.releaseEndcase11.3.4命令按鈕組控件11.3.5復(fù)選框控件復(fù)選框可以用來表示某些狀態(tài)是否成立。常用屬性:caption:標題Value:為1時復(fù)選框為選中狀態(tài),為0沒選中。事件:InteractiveChange:當用鼠標或鍵盤改變此控件的值時觸發(fā)該事件。(若要在列表框、組合框或復(fù)選框的值改變時執(zhí)行某代碼,可將它編寫在InteractiveChange事件,而不是Click事件中,因為有時控件的值的改變并不觸發(fā)Click事件,有時控件的值沒改變,而Click事件卻會發(fā)生)例8:建立下面表單11.3.5復(fù)選框控件屬性初值:thisform.check1.value=0thisform.check2.value=0thisform.check3.value=0thisform.check4.value=0thisform.text1.forecolor=rgb(0,0,0)thisform.text1.fontoutline=.f.thisform.text1.fontitalic=.f.thisform.text1.fontbold=.f.11.3.5復(fù)選框控件代碼:check1.InteractiveChangeifthis.value=1thisform.text1.forecolor=rgb(255,0,0)elsethisform.text1.forecolor=rgb(0,0,0)endifcheck2.InteractiveChangeifthis.value=1thisform.text1.fontunderline=.t.elsethisform.text1.fontunderline=.f.endif11.3.5復(fù)選框控件check3.InteractiveChangeifthis.value=1thisform.text1.fontitalic=.t.elsethisform.text1.fontitalic=.f.endifcheck4.InteractiveChangeifthis.value=1thisform.text1.fontbold=.t.elsethisform.text1.fontbold=.f.endif11.3.5復(fù)選框控件11.3.6組合框控件組合框兼有列表框和文本框的功能。有兩種形式的組合框,即下拉組合框和下拉列表框,通過更改控件的Style屬性可選擇想要的形式。下拉式組合框或下拉列表框的區(qū)別:前者即可以選擇已有的項目,又可以輸入一個新項,后者只能從已有的項中選擇一項。1.設(shè)置屬性ControlSource:指定用于保存用戶選擇或輸入值的表字段,例:“政治面貌”字段,在本控件中如不指定此項,則表單執(zhí)行時,表中顯示為空。RowSourceType:數(shù)據(jù)來源類型RowSource:具體的數(shù)據(jù)來源Style:0.下拉組合框2.下拉列表框2.組合框生成器3.常用事件:Interactivechange:當用戶使用鍵盤或鼠標更改控件的值時發(fā)生。11.3.6組合框控件例9:計算器11.3.6組合框控件(1)組合框?qū)傩栽O(shè)置:rowsourcetype:值rowsource:+,-,*,/屬性(2)組合框interactivechange事件代碼:a=this.valuethisform.text3.value=thisform.text1.value&a.thisform.text2.value11.3.6組合框控件例10.如圖所示,在表單的組合框中提供了一組條目供用戶選擇。寫出文本框顯示的內(nèi)容。11.3.6組合框控件按鈕“運行”的Click事件中的代碼如下:A=ALLTRIM(THISFORM.TEXT1.VALUE)STORETHISFORM.COMBO1.VALUETOB,CFORN=1TOLEN(A)STEP2C=C+SUBS(A,N,2)+BIFN!=LEN(A)-1C=C+BENDIFENDFORTHISFORM.TEXT2.VALUE=C11.3.6組合框控件11.3.7選項按鈕組控件選項按鈕組是包含單選按鈕的容器。通常,允許用戶指定幾個操作選項中的一個。常用屬性:(1)選項按鈕組Buttoncount:選項按鈕的數(shù)目。Value:選中了哪一個按鈕。(2)單選鈕Caption:標題Value:為1是表示當前單選鈕選中。例11:設(shè)計一個如圖所示的表單,通過選擇單選鈕對標簽文本進行前景色和背景色的設(shè)置。

11.3.7選項按鈕組控件操作步驟:(1)新建一個表單文件,添加一個標簽Label1,一個選項按鈕組

Optiongroup1。(2)將選項組Optiongroup1中的按鈕個數(shù)設(shè)置為3,更改其標題,并按其ForeColor屬性分別設(shè)置為紅、藍、綠色。將其復(fù)制生成一個選項按鈕組Optiongroup2。(3)將Optiongroup1的InteractiveChange事件的代碼設(shè)置如下:docasecasethis.value=1thisform.label1.backcolor=this.buttons(1).forecolorcasethis.value=2thisform.label1.backcolor=this.buttons(2).forecolorcasethis.value=3thisform.label1.backcolor=this.buttons(3).forecolorendcase11.3.7選項按鈕組控件將Optiongroup2的InteractiveChange事件的代碼設(shè)置如下:docasecasethis.value=1thisform.label1.forecolor=this.buttons(1).forecolorcasethis.value=2thisform.label1.forecolor=this.buttons(2).forecolorcasethis.value=3thisform.label1.forecolor=this.buttons(3).forecolorendcase11.3.7選項按鈕組控件11.3.8列表框控件列表框和下拉列表框(即Style屬性為2的組合框控件—下拉列表)為用戶提供了包含一些選項和信息的可滾動列表。列表框中,任何時候都能看到多個項;而在下拉列表中,只能看到一個項,用戶可單擊向下按鈕來顯示可滾動的下拉列表框。1.常用屬性:ControlSource:用戶從列表中選擇的值保存在何處,例:姓名字段RowSourcetype:設(shè)置列表框中使用的數(shù)據(jù)來源的類型。如:6為字段RowSource:列表框中使用數(shù)據(jù)的源ColumnCount:列表框中同時顯示的列數(shù)BoundColumn:設(shè)置列表框中顯示的Value是哪一列的內(nèi)容。value:選中的某一項2.列表框“生成器”3.Interactivechange:當用戶使用鍵盤或鼠標更改控件的值時發(fā)生。11.3.8列表框控件例12設(shè)計一個如圖所示的表單,可以將100-200之間的所有素數(shù)顯示在列表框中。

11.3.8列表框控件操作步驟:(1)新建一個表單文件,添加一個標簽和一個列表框List1。(2)將表單的Init事件輸入代碼:i=1forn=100to200forj=2ton-1ifn%j=0exitendifendfifj=nthisform.list1.list(i)=str(n,3)i=i+1endifendf注意:list數(shù)組只接收字符型數(shù)據(jù)。

11.3.8列表框控件例13使用學生表,制作下面表單。

11.3.8列表框控件11.3.8列表框控件設(shè)置:1.建立一個新表單2.添加一個數(shù)據(jù)表(數(shù)據(jù)環(huán)境中)3.設(shè)置標簽(Label1)的標題為“姓名”。

設(shè)置標簽(Label2)的標題為“入學成績”。4.添加一個文本框,設(shè)置文本框的名稱為“Text1”。5.添加一個列表框。Interactivechange事件代碼: thisform.text1.value=入學成績(另:可以將文本框與表字段用ControlSource建立聯(lián)系列表框的Interactivechange事件代碼為:thisform.refresh)11.3.9表格控件表格對象能在表單或頁面中顯示并操作(編輯修改)表格中行和列中的數(shù)據(jù)。1.利用表格控件創(chuàng)建表格(1)打開表單,添加表格控件(2)在數(shù)據(jù)環(huán)境中添加數(shù)據(jù)表(3)運行表單。2.直接拖動數(shù)據(jù)表(1)打開表單(2)在數(shù)據(jù)環(huán)境中添加數(shù)據(jù)表(3)將數(shù)據(jù)環(huán)境中的數(shù)據(jù)表拖動到表單中(4)運行表單。3.利用表格生成器創(chuàng)建表格(1)打開表單,添加表格控件(2)右擊,在快捷菜單上選擇“生成器”4.設(shè)置屬性表格Grid屬性:ColumnCount:列數(shù),若值為-1,表格列數(shù)與表中字段數(shù)一樣,此時不能進入編輯狀態(tài)RecordSourceType:與表格關(guān)聯(lián)的數(shù)據(jù)源類型RecordSource:表格的數(shù)據(jù)源(表)

列(Column)屬性:ControlSource

:在列中要顯示的數(shù)據(jù)。如表中的一個字段Sparse:為真時,只有激活的單元格用選定的控件顯示數(shù)據(jù),為假時,所有單元都用選定的控件。Currentcontrol:表格中哪一個控件是活動的。默認是文本框Text1列頭(Header)屬性:caption:列頭的文字11.3.9表格控件11.3.10計時器控件計時器控件與用戶的操作獨立。它只對時間作出反應(yīng),以一定的間隔重復(fù)地執(zhí)行某種操作。常用屬性:Interval:事件之間的毫秒數(shù)Enabled:將Enabled屬性設(shè)置為“假”(.F.),會掛起計時器的運行。事件:Timer:當一個計時器的時間間隔(由Interval屬性值規(guī)定)過去后,VisualFoxPro將產(chǎn)生一個Timer事件。例14:設(shè)計一個電子時鐘,顯示系統(tǒng)時間。11.3.10計時器控件1.建立一個表單,在表單中加入一個計時器、一個標簽和兩個命令按鈕。2.計時器的Interval=1000 Timer事件代碼:Thisform.label1.Caption=Time()3.設(shè)置標簽的FontSize=204.暫停按鈕Click事件代碼:thisform.timer1.enabled=.f.繼續(xù)按鈕Click事件代碼:thisform.timer1.enabled=.t.11.3.10計時器控件例15:設(shè)計一個學生檔案處理系統(tǒng)的軟件封面。要求文字從右向左移動。11.3.10計時器控件1.建立一個表單,加入兩個標簽、一個計時器。2.表單的Caption為學生檔案管理系統(tǒng)3.0版3.Timer1的InterVal屬性為200Timer1的Timer事件代碼:ifthisform.label1.left+thisform.label1.width<0thisform.label1.left=thisform.widthelsethisform.label1.left=thisform.label1.left-10endif11.3.10計時器控件11.3.11微調(diào)控件微調(diào)控件用于接受給定范圍之內(nèi)的數(shù)值輸入。它即可用鍵盤輸入,也可單擊該控件的上箭頭按鈕來增減其當前值。常用屬性:1.Value:表示微調(diào)控件的當前值。2.KeyBoardHighValue:設(shè)定鍵盤輸入數(shù)值高限3.KeyBoardLowValue:設(shè)定鍵盤輸入數(shù)值低限4.SpinnerLowValue:設(shè)定按鈕微調(diào)數(shù)值低限5.SpinnerHighValue:設(shè)定按鈕微調(diào)數(shù)值高限6.Increment:設(shè)定按一次箭頭按鈕的增減數(shù),默認為1.00。事件:1.Interactivechange:當用戶使用鍵盤或鼠標更改控件的值時發(fā)生。2.DownClickEvent:按微調(diào)控件的向下按鈕事件。3.UpClickEvent:按微調(diào)控件的向上按鈕事件。11.3.11微調(diào)控件例16設(shè)計一個用微調(diào)控件控制圖形由長方形變化為橢圓形的表單。11.3.11微調(diào)控件在表單設(shè)計器中加入一個微調(diào)控件Spinner1和一個形狀控件Shape1。Shape1的屬性:curvature=0(形狀的角的曲率)Spinner1的屬性:KeyBoardHighValue=99KeyBoardLowValue==0SpinnerLowValue=0SpinnerHighValue=99Increment=1事件:Spinner1的Interactivechange:thisform.shape1.curvature=this.value11.3.12頁框控件頁框是“頁面”的一種容器,而“頁面”也是一種容器,可以放置任何控件、容器和自定義對象,一個頁面在運行時對應(yīng)一個屏幕窗口。常用屬性:PageCount:頁框包含的頁面數(shù)量。默認值為2。ActivePage:當前的活躍頁面編號。例17設(shè)計一個標題為“學生檔案表”的多頁表單。11.3.12頁框控件11.3.12頁框控件11.3.12頁框控件1.建立表單,在數(shù)據(jù)環(huán)境中加入數(shù)據(jù)表(Student)。2.在表單中加入一個頁框和一個命令按鈕組3.使頁框處于編輯狀態(tài)。將數(shù)據(jù)環(huán)境中有關(guān)基本情況的字段拖入到Page1中,將照片字段拖入到Page2中,將簡歷字段拖入到Page3中。11.3.12頁框控件casethis.value=2ifrecn()<reccount()skipelsegotopendifthisform.refreshcasethis.value=3thisform.releaseendcasePage1、

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論