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

下載本文檔

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

文檔簡介

1、面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)表單(表單(Form)是是VFP提供的用于建立應(yīng)用程序界面的提供的用于建立應(yīng)用程序界面的最主要的工具之一。它是包含命令按鈕、文最主要的工具之一。它是包含命令按鈕、文本框、列表框等各種界面元素的標準窗口或本框、列表框等各種界面元素的標準窗口或?qū)υ捒?。對話框。對象(對象(Object)客觀世界里的任何實體都可以看作是對客觀世界里的任何實體都可以看作是對象。它可以是具體的物,也可以指某些概念。象。它可以是具體的物,也可以指某些概念。例某一學生例某一學生第十章 面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)類(類(Class)是具有相同屬性特征和行為規(guī)則的多個是具有相同屬性特征和行為規(guī)則的多個“對象對象”的

2、一種統(tǒng)一描述。例:學生的一種統(tǒng)一描述。例:學生“對象對象”則是則是“類類”的一個實例,的一個實例,“對對象象”一定具有其所屬一定具有其所屬“類類”的共同特征與行的共同特征與行為規(guī)則,當然一個為規(guī)則,當然一個“對象對象”還可以具有其所還可以具有其所屬屬“類類”未曾規(guī)定的特征和行為規(guī)則。未曾規(guī)定的特征和行為規(guī)則。 第十章 面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)子類與繼承子類與繼承繼承是指在基于現(xiàn)有的類創(chuàng)建新類時,新類繼繼承是指在基于現(xiàn)有的類創(chuàng)建新類時,新類繼承了現(xiàn)有類里的方法和屬性。把新類稱為現(xiàn)有類的子承了現(xiàn)有類里的方法和屬性。把新類稱為現(xiàn)有類的子類,現(xiàn)有類稱為新類的父類。類,現(xiàn)有類稱為新類的父類。子類可以包括從其

3、父類繼承的屬性和方法,也子類可以包括從其父類繼承的屬性和方法,也可以添加新的方法和屬性。例:計算機學院的學生可以添加新的方法和屬性。例:計算機學院的學生VFP的類的類基類基類系統(tǒng)本身內(nèi)含的,并不存放在某個類庫中。系統(tǒng)本身內(nèi)含的,并不存放在某個類庫中。VFP的基類分為兩個大類:容器和控件(見:表單控的基類分為兩個大類:容器和控件(見:表單控件常用工具欄)。件常用工具欄)。 第十章 面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)控件類控件類在該在該“類類”中不能包含其他類,最典型中不能包含其他類,最典型的控件類就是命令按鈕。的控件類就是命令按鈕。容器類容器類 一種特殊的控件,可以包含其他控件或一種特殊的控件,可以包含其他控

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

5、表示對象的“父容器父容器”對象對象ThisForm:表示對象所在的表單表示對象所在的表單ThisFormSet:表示對象所在的表單所屬的表示對象所在的表單所屬的表單集表單集第十章 面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)事件事件是由外部實體作用在是由外部實體作用在“對象對象”上的一個上的一個動作。最常見的動作。最常見的“事件事件”:鼠標:鼠標“單擊單擊”、“雙擊雙擊”、“拖放拖放”或修改對象數(shù)據(jù)等等。或修改對象數(shù)據(jù)等等。當作用在對象上的某個設(shè)定當作用在對象上的某個設(shè)定“事件事件”發(fā)發(fā)生時,與該事件相聯(lián)系的生時,與該事件相聯(lián)系的“方法程序方法程序”就運就運行并完成該程序的功能行并完成該程序的功能方法方法用來描述對象

6、的行為過程。程序表現(xiàn)為用來描述對象的行為過程。程序表現(xiàn)為函數(shù)。如表單的釋放函數(shù)。如表單的釋放:release第十章 面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)教學目的:教學目的: 掌握表單設(shè)計的常用控件掌握表單設(shè)計的常用控件 教學重點:教學重點: 表單設(shè)計中代碼的編寫表單設(shè)計中代碼的編寫教學時數(shù):教學時數(shù):5 5學時學時第十一章 表單設(shè)計與應(yīng)用表單設(shè)計與應(yīng)用11.1 11.1 表單的建立與運行表單的建立與運行11.1.1 11.1.1 用表單設(shè)計器建立表單用表單設(shè)計器建立表單方法方法1: “文件文件”菜單菜單“新建新建”文件類型為文件類型為“表單表單”“新建文件新建文件”。方法方法2:“項目管理器項目管理器”“文檔

7、文檔”選項卡選項卡 “表單表單”“新建新建”按鈕按鈕在在“新建表單新建表單”對話框中選擇對話框中選擇“新建表新建表單單”。方法方法3:在命令窗口輸入:在命令窗口輸入CREATE FORM命令。命令。表單文件擴展名為表單文件擴展名為.scx 備注文件擴展名為備注文件擴展名為.sct(1)表單設(shè)計器窗口表單設(shè)計器窗口(2)屬性設(shè)置窗口屬性設(shè)置窗口(3)表單控件工具欄表單控件工具欄(4) “表單表單”菜單項菜單項(5)表單設(shè)計器工具欄表單設(shè)計器工具欄1.1.表單設(shè)計器環(huán)境表單設(shè)計器環(huán)境設(shè)置設(shè)置tabtab次序:重新設(shè)置表單中每個控件的訪問次序:重新設(shè)置表單中每個控件的訪問的先后次序。的先后次序。設(shè)置

8、方法:雙擊設(shè)置為設(shè)置方法:雙擊設(shè)置為1 1,單擊可以按照順序為該,單擊可以按照順序為該控件設(shè)置相應(yīng)的號碼控件設(shè)置相應(yīng)的號碼。數(shù)據(jù)環(huán)境:每一個使用了數(shù)據(jù)表的表單都數(shù)據(jù)環(huán)境:每一個使用了數(shù)據(jù)表的表單都包括一個數(shù)據(jù)環(huán)境。數(shù)據(jù)環(huán)境是一個容器對象,包括一個數(shù)據(jù)環(huán)境。數(shù)據(jù)環(huán)境是一個容器對象,它用來定義與表單相聯(lián)系的數(shù)據(jù)實體(表、視它用來定義與表單相聯(lián)系的數(shù)據(jù)實體(表、視圖)的信息及其相互聯(lián)系。數(shù)據(jù)環(huán)境容器一般圖)的信息及其相互聯(lián)系。數(shù)據(jù)環(huán)境容器一般包含:包含: 一到多個游標(一到多個游標(CursorCursor) 類對象類對象 關(guān)系(關(guān)系(RelationRelation) 類對象類對象2.2.表單設(shè)計

9、器工具欄的初步認識表單設(shè)計器工具欄的初步認識屬性窗口:用于設(shè)置對象屬性。屬性窗口:用于設(shè)置對象屬性。代碼窗口:分對象和過程兩個可選部分,空白代碼窗口:分對象和過程兩個可選部分,空白部分用來編輯程序代碼。部分用來編輯程序代碼。表單控件工具欄:選中控件,并在表單中單擊表單控件工具欄:選中控件,并在表單中單擊或拖動可以產(chǎn)生相應(yīng)的控件。或拖動可以產(chǎn)生相應(yīng)的控件。調(diào)色板工具欄:編輯控件的前景色和背景色。調(diào)色板工具欄:編輯控件的前景色和背景色。布局工具欄:調(diào)整控件在表單中的對齊位置。布局工具欄:調(diào)整控件在表單中的對齊位置。表單生成器:向表單中添加字段和定義表單的表單生成器:向表單中添加字段和定義表單的樣式

10、。樣式。自動格式:設(shè)置表單中控件的樣式。自動格式:設(shè)置表單中控件的樣式。2.2.表單設(shè)計器工具欄的初步認識表單設(shè)計器工具欄的初步認識3. 表單中的對象設(shè)計(1)(1)向表單中加入對象向表單中加入對象(2)(2)刪除表單中的對象刪除表單中的對象(3)(3)在表單中進行對象屬性設(shè)定在表單中進行對象屬性設(shè)定(4)(4)為表單中的對象設(shè)計代碼為表單中的對象設(shè)計代碼4.表單設(shè)計的基本步驟(1 1)進行規(guī)劃,最好畫一張草圖,在上面)進行規(guī)劃,最好畫一張草圖,在上面標出各對象的位置、標題、所屬父類、對象的標出各對象的位置、標題、所屬父類、對象的大致作用、表單中要使用的表、表間的對應(yīng)關(guān)大致作用、表單中要使用的

11、表、表間的對應(yīng)關(guān)系以及對象間的相互協(xié)調(diào)與支持。系以及對象間的相互協(xié)調(diào)與支持。(2 2)打開表單設(shè)計器窗口。)打開表單設(shè)計器窗口。(3 3)如果表單要使用到表,需要首先為表)如果表單要使用到表,需要首先為表單建立單建立“數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境”。(4 4)在表單中加入其他對象并進行布局排)在表單中加入其他對象并進行布局排列。列。(5 5)建立對象與表的對應(yīng)關(guān)系。)建立對象與表的對應(yīng)關(guān)系。建立對象與表的對應(yīng)關(guān)系建立對象與表的對應(yīng)關(guān)系: :可以與表字段進行聯(lián)系的對象有:表格(可以與表字段進行聯(lián)系的對象有:表格(GridGrid)、)、文本框文本框(TextBoxTextBox)、)、編輯框(編輯框(Edi

12、tBoxEditBox)、)、列表框(列表框(ListBoxListBox)等等等。等。建立這類對象與數(shù)據(jù)表字段的關(guān)聯(lián)的方法是:建立這類對象與數(shù)據(jù)表字段的關(guān)聯(lián)的方法是:文本框、編輯框、列表框文本框、編輯框、列表框ControlSourceControlSource 屬性屬性數(shù)據(jù)表的對應(yīng)字段名。數(shù)據(jù)表的對應(yīng)字段名。表格表格表格是一種容器對象,其成員對象是列,默認的對象名是表格是一種容器對象,其成員對象是列,默認的對象名是Column1Column1、Column2 Column2 等,而列也是一個容器對象,其成員對等,而列也是一個容器對象,其成員對象是象是Header Header 和和Text

13、Text。 Grid:RecordSourceGrid:RecordSource、RecordSourceTypeRecordSourceType、ColumnCountColumnCountColumn.Header:CaptionColumn.Header:CaptionColumn.text:ControlSourceColumn.text:ControlSource(6 6)編寫事件代碼)編寫事件代碼4.表單設(shè)計的基本步驟11.1.2 用表單向?qū)Ы⒈韱蜼isual FoxPro Visual FoxPro 中有兩個表單向?qū)?,各種向中有兩個表單向?qū)?,各種向?qū)⒌谋韱卧湍軌蛲瓿桑簩?/p>

14、所建立的表單原型能夠完成:(1 1)表單向?qū)В赫麄€表單針對一個數(shù)據(jù)表)表單向?qū)В赫麄€表單針對一個數(shù)據(jù)表進行諸如查詢、修改、插入、刪除等操作;進行諸如查詢、修改、插入、刪除等操作;(2 2)一對多表單向?qū)В赫麄€表單針對兩個)一對多表單向?qū)В赫麄€表單針對兩個數(shù)據(jù)表,而且這兩個數(shù)據(jù)表間存在一對多的關(guān)數(shù)據(jù)表,而且這兩個數(shù)據(jù)表間存在一對多的關(guān)系。系。11.1.3 11.1.3 表單的運行表單的運行 有有3 3種方法可以運行表單:種方法可以運行表單:(1) (1) 直接使用命令。在命令窗口,直接輸入直接使用命令。在命令窗口,直接輸入命令:命令: DO FORM DO FORM (2) “(2) “表單表單

15、”菜單菜單“執(zhí)行表單執(zhí)行表單”命令,命令,或單擊工具欄中!?;騿螕艄ぞ邫谥校?。(3)“(3)“程序程序”菜單菜單“運行運行”命令。命令。(4) (4) 在項目管理器中,選中在項目管理器中,選中“文檔文檔”選項卡選項卡并指定要運行的表單,單擊并指定要運行的表單,單擊“運行運行”按鈕。按鈕。表單的操作表單的操作11.2.1 11.2.1 表單的屬性表單的屬性主要屬性:主要屬性:BackColorBackColor:背景顏色。背景顏色。CaptionCaption:標題。標題。ClosableClosable:通過通過 “ “關(guān)閉關(guān)閉”按鈕來關(guān)閉表按鈕來關(guān)閉表單。單。MaxButtonMaxButt

16、on:最大化按鈕最大化按鈕MinButtonMinButton:最小化按鈕最小化按鈕MovableMovable:是否移動是否移動WindowsStateWindowsState:控制表單是最大化、最小控制表單是最大化、最小化還是正常狀態(tài)化還是正常狀態(tài)TitleBarTitleBar: :標題欄是否可見標題欄是否可見1.1.Init Init 事件:創(chuàng)建表單時觸發(fā)該事件,從而事件:創(chuàng)建表單時觸發(fā)該事件,從而執(zhí)行為該事件編寫的代碼。執(zhí)行為該事件編寫的代碼。InitInit代碼通常用來完成代碼通常用來完成一些關(guān)于表單的初始化工作。一些關(guān)于表單的初始化工作。2.2.DestoryDestory事件:

17、釋放表單時觸發(fā)該事件,該事件:釋放表單時觸發(fā)該事件,該方法代碼通常用來進行文件關(guān)閉,釋放內(nèi)存變量等方法代碼通常用來進行文件關(guān)閉,釋放內(nèi)存變量等工作。工作。3.3.ClickClick事件:單擊。事件:單擊。4.4.Show Show 和和Hide Hide 是一對方法,表單可見與隱藏。是一對方法,表單可見與隱藏。5.5.Release Release 方法從內(nèi)存中釋放表單。方法從內(nèi)存中釋放表單。6.6.Refresh Refresh 方法刷新表單數(shù)據(jù)。方法刷新表單數(shù)據(jù)。11.3.1 11.3.1 標簽控件標簽控件標簽是通常被用做提示或標題的控件標簽是通常被用做提示或標題的控件。常用屬性:常用屬

18、性:CaptionCaption:文本內(nèi)容文本內(nèi)容ForecolorForecolor: : 字體顏色字體顏色FontnameFontname: :選字體選字體FontsizeFontsize: : 選字號選字號BackStyleBackStyle 確定標簽是否透明確定標簽是否透明AlignmentAlignment:設(shè)置文本對齊方式設(shè)置文本對齊方式AutoSizeAutoSize: :自動調(diào)整控件大小以容納其內(nèi)容自動調(diào)整控件大小以容納其內(nèi)容WrapWordWrapWord: :指定指定AutoSizeAutoSize為為.t.t.的標簽控件是沿的標簽控件是沿縱向擴展還是沿橫向擴展??v向擴展還

19、是沿橫向擴展。例例1 1 表單中有表單中有3 3個標簽,當用鼠標單擊任何一個標個標簽,當用鼠標單擊任何一個標簽時,其它兩個標簽的標題文本互換。簽時,其它兩個標簽的標題文本互換。11.3.1 11.3.1 標簽控件標簽控件設(shè)計步驟:設(shè)計步驟:(1)create form bd1 創(chuàng)建一個新的創(chuàng)建一個新的表單,進入表單設(shè)計器。表單,進入表單設(shè)計器。(2)表單中加入一個標簽控件表單中加入一個標簽控件Label1。(3)設(shè)置它的屬性如表所示:設(shè)置它的屬性如表所示:11.3.1 11.3.1 標簽控件標簽控件對象對象屬性屬性屬性值屬性值說明說明Label1Label1Caption Caption 歡迎

20、使用歡迎使用Visual Visual FoxPro FoxPro 標簽的內(nèi)容標簽的內(nèi)容Alignment Alignment 2-2-中央中央文本居中對齊文本居中對齊FontsizeFontsize 4040字體的大小字體的大小BackstyleBackstyle0-0-透明透明背景類型背景類型fontnamefontname隸書隸書設(shè)置字體設(shè)置字體forecolorforecolor255,0, 0255,0, 0字體顏色字體顏色11.3.1 11.3.1 標簽控件標簽控件(4)(4)選中選中Label1Label1后,單擊后,單擊“編輯編輯”菜單中的菜單中的“復制復制”,再,再選擇選擇“

21、編輯編輯”菜單中的菜單中的“粘貼粘貼”,將,將Label1Label1復制二個副本復制二個副本Label2Label2、Label3Label3。將將CaptionCaption屬性修改如圖所示。屬性修改如圖所示。(5)(5)編寫代碼:編寫代碼:Label1Label1的的ClickClick事件代碼:事件代碼:t=thisform.label2.captiont=thisform.label2.captionthisform.label2.caption=thisform.label3.captionthisform.label2.caption=thisform.label3.captio

22、nthisform.label3.caption=tthisform.label3.caption=tLabel2Label2的的ClickClick事件代碼:事件代碼:t=thisform.label1.captiont=thisform.label1.captionthisform.label1.caption=thisform.label3.captionthisform.label1.caption=thisform.label3.captionthisform.label3.caption=tthisform.label3.caption=tLabel3Label3的的ClickCl

23、ick事件代碼:事件代碼:t=thisform.label1.captiont=thisform.label1.captionthisform.label1.caption=thisform.label2.captionthisform.label1.caption=thisform.label2.captionthisform.label2.caption=tthisform.label2.caption=t11.3.1 11.3.1 標簽控件標簽控件黑:黑:0,0,0紅:紅:255,0,0黃:黃:255,255,0白:白:255,255,255藍 :藍 : 0 , 0 ,255青:青:0,

24、255,255灰:灰:192,192,192綠:綠:0,255,0洋紅:洋紅:255,0,255深灰:深灰:128,128,128常用屬性:常用屬性:CaptionCaption:按鈕上的標題(用按鈕上的標題(用加快捷鍵)。加快捷鍵)。PicturePicture:按鈕上顯示的圖片。按鈕上顯示的圖片。EnabledEnabled:.T.T.有效,有效,. .F. F. 無效無效-灰色?;疑isibleVisible:.T. .T. 可見,可見,. .F .F .隱藏。隱藏。常用事件:常用事件:ClickClick: 單擊鼠標左鍵時發(fā)生的事件。單擊鼠標左鍵時發(fā)生的事件。 例例2 2 交換兩個

25、變量中的數(shù)據(jù)交換兩個變量中的數(shù)據(jù)。對象對象屬性屬性屬性值屬性值說明說明Label1Caption A=標簽的內(nèi)容標簽的內(nèi)容Fontsize15字體大小字體大小Backstyle0-透明透明背景類型背景類型Autosize .T.-真真自動調(diào)整大小自動調(diào)整大小Forecolor 藍色藍色字體顏色字體顏色Label2Caption 1234標簽的內(nèi)容標簽的內(nèi)容Label3Caption B=標簽的內(nèi)容標簽的內(nèi)容Label4 Caption 4444標簽的內(nèi)容標簽的內(nèi)容Command1Caption 交換交換按鈕的標題按鈕的標題設(shè)計步驟:打開表單設(shè)計器,增加一個命令按鈕、設(shè)計步驟:打開表單設(shè)計器,增

26、加一個命令按鈕、4 4個標簽。個標簽。(3)(3)編寫程序代碼:編寫程序代碼:編寫命令按鈕編寫命令按鈕Command1Command1的的ClickClick事件代碼:事件代碼:t=thisform.label2.captiont=thisform.label2.captionthisform.label2.caption=thisform.labethisform.label2.caption=thisform.label4.captionl4.captionthisform.label4.caption=tthisform.label4.caption=t 11.3.3 11.3.3 文本

27、框文本框和和編輯框編輯框控件控件1.1.文本框是用來在應(yīng)用程序與用戶之間進行數(shù)據(jù)文本框是用來在應(yīng)用程序與用戶之間進行數(shù)據(jù)交互的一種常用工具。它允許用戶添加或編輯保存在交互的一種常用工具。它允許用戶添加或編輯保存在表中非備注字段中的數(shù)據(jù)。文本框可以編輯數(shù)值型、表中非備注字段中的數(shù)據(jù)。文本框可以編輯數(shù)值型、字符型、日期型或邏輯型字符型、日期型或邏輯型4 4種類型之一,并且它只能種類型之一,并且它只能在一個段落輸入數(shù)據(jù)。在一個段落輸入數(shù)據(jù)。常用屬性:常用屬性:ControlsourceControlsource :定義數(shù)據(jù)源。定義數(shù)據(jù)源。InputmaskInputmask:定義輸入格式。定義輸入格

28、式。Value Value :定義初值。定義初值。PasswordcharPasswordchar 定義占位符。定義占位符。例例3 3:利用文本框輸入圓的半徑,計算出圓的面積,如圖所示:利用文本框輸入圓的半徑,計算出圓的面積,如圖所示:11.3.3 11.3.3 文本框文本框和和編輯框編輯框控件控件設(shè)計步驟:設(shè)計步驟:(1)(1)選擇選擇“新建新建”表單,進入表單設(shè)計器,表單,進入表單設(shè)計器,增加兩個增加兩個“文本框文本框”控件控件Text1Text1和和Text2, Text2, 兩個兩個標簽控件標簽控件Label1Label1和和Label2Label2,一個一個“命令按命令按鈕鈕”Com

29、mand1Command1。(2)(2)各控件屬性如下:各控件屬性如下: 11.3.3 11.3.3 文本框文本框和和編輯框編輯框控件控件對象對象屬性屬性屬性值屬性值說明說明Form1Caption計算圓的面積計算圓的面積表單的標題表單的標題backcolor64,128,128表單的背景顏色表單的背景顏色Label1Caption 請輸入圓的半徑:請輸入圓的半徑:標簽的內(nèi)容標簽的內(nèi)容Fontsize16字體大小字體大小Backstyle0-透明透明背景類型背景類型Autosize .T.-真真自動調(diào)整大小自動調(diào)整大小Forecolor 藍色藍色字體顏色字體顏色fontname黑體黑體設(shè)置字體

30、設(shè)置字體Label2Caption 圓的面積為:圓的面積為:標簽的內(nèi)容標簽的內(nèi)容Text1Alignment0-左左文本對齊方式文本對齊方式Inputmask99999只能輸入只能輸入5位數(shù)位數(shù)Value 0文本初值為文本初值為0Text2Readonly.T.-真真文本內(nèi)容只讀文本內(nèi)容只讀Tabstop.F.-假假光標不停留光標不停留Value 0文本初值為文本初值為0Command1Caption 計算計算按鈕的標題按鈕的標題11.3.3 11.3.3 文本框文本框和和編輯框編輯框控件控件(3)(3)編寫程序代碼。編寫程序代碼。編寫編寫Command1Command1的的ClickClic

31、k事件代碼:事件代碼:a=thisform.text1.valuea=thisform.text1.valuethisform.text2.value=round(a2thisform.text2.value=round(a2* *3.14,2)3.14,2)11.3.3 11.3.3 文本框文本框和和編輯框編輯框控控件件例例4 4用表單設(shè)計一個登錄界面,當用戶輸入用戶名和口令并用表單設(shè)計一個登錄界面,當用戶輸入用戶名和口令并按確認鍵后,檢驗其輸入是否正確,若正確(假定用戶名為按確認鍵后,檢驗其輸入是否正確,若正確(假定用戶名為ABCDEFABCDEF,口令為口令為123456123456),

32、就顯示),就顯示“歡迎使用歡迎使用”字樣并字樣并關(guān)閉表單;若不正確,則顯示關(guān)閉表單;若不正確,則顯示“用戶名或口令不對,請重用戶名或口令不對,請重輸輸”字樣;如果三次輸入不正確,就顯示字樣;如果三次輸入不正確,就顯示“用戶名或口用戶名或口令不對,登錄失??!令不對,登錄失敗!”字樣并關(guān)閉表單。字樣并關(guān)閉表單。11.3.3 11.3.3 文本框文本框和和編輯框編輯框控件控件操作步驟:操作步驟:(1 1)創(chuàng)建表單,在表單上添加兩個標簽、兩個文)創(chuàng)建表單,在表單上添加兩個標簽、兩個文本框和一個命令按鈕。本框和一個命令按鈕。(2 2)設(shè)置)設(shè)置Text2Text2的的InputMaskInputMask

33、屬性為:屬性為:999999999999,PasswordCharPasswordChar:* *。(3 3)從從“表單表單”菜單選擇菜單選擇“新建屬性新建屬性”命令,為命令,為表單添加一個新屬性表單添加一個新屬性numnum,初值為初值為0 0,用來保存本次登,用來保存本次登錄輸入的次數(shù)。錄輸入的次數(shù)。(4 4)設(shè)置命令按鈕的)設(shè)置命令按鈕的ClickClick事件代碼。事件代碼。( (如下如下) )11.3.3 11.3.3 文本框文本框和和編輯框編輯框控件控件Click事件代碼。事件代碼。if thisform.text1.value=ABCDEF.and.thisform.text2.

34、value=123456 wait 歡迎使用歡迎使用 window timeout 1 thisform.releaseelse thisform.num=thisform.num+1 if thisform.num=3 wait 用戶名或口令不對,登錄失??!用戶名或口令不對,登錄失敗! window timeout 1 thisform.release else wait 用戶名或口令不對,請重輸用戶名或口令不對,請重輸 window timeout 1 endifendif11.3.3 11.3.3 文本框文本框和和編輯框編輯框控件控件2.2.編輯框控件與文本框相似,也是用來輸入用戶的編輯

35、框控件與文本框相似,也是用來輸入用戶的數(shù)據(jù)。編輯框只能輸入、編輯字符型數(shù)據(jù),包括字數(shù)據(jù)。編輯框只能輸入、編輯字符型數(shù)據(jù),包括字符型變量、數(shù)組元素、字段以及備注字段的內(nèi)容符型變量、數(shù)組元素、字段以及備注字段的內(nèi)容, ,它它可以輸入多段文字。其特點是一個完整的字處理器。可以輸入多段文字。其特點是一個完整的字處理器。 11.3.3 11.3.3 文本框文本框和和編輯框編輯框控件控件例例5:求:求100到到1000之間能被之間能被37整除的數(shù),要求在編輯框中顯整除的數(shù),要求在編輯框中顯示輸出結(jié)果,并通過命令按鈕來控制輸出。示輸出結(jié)果,并通過命令按鈕來控制輸出。 11.3.3 11.3.3 文本框文本框

36、和和編輯框編輯框控件控件操作步驟:操作步驟:(1)(1)新建一個表單,添加一個標簽控件新建一個表單,添加一個標簽控件Label1Label1、一個編一個編輯框控件輯框控件Edit1Edit1和二個命令按鈕和二個命令按鈕Command1Command1、Command2Command2。(2)(2)分別設(shè)置它們的屬性:分別設(shè)置它們的屬性:對象對象屬性屬性屬性值屬性值Label1Caption 100到到1000之間能被之間能被37整除的數(shù)整除的數(shù) Autosize .T.-真真Edit1Fontsize12Command1Caption 開始開始 Command2Caption 退出退出 11.

37、3.3 11.3.3 文本框文本框和和編輯框編輯框控件控件(3)設(shè)置命令按鈕)設(shè)置命令按鈕Command1的的Click事件代碼事件代碼k=0for x=100 to 1000 if x%37=0 thisform.edit1.value=thisform.edit1.value+str(x,5) k=k+1 if k%5=0 thisform.edit1.value=thisform.edit1.value+chr(13) endif endifendf 設(shè)置命令按鈕設(shè)置命令按鈕Command2的的Click事件代碼事件代碼release thisform11.3.3 11.3.3 文本框文

38、本框和和編輯框編輯框控件控件11.3.4 11.3.4 命令按鈕組控件命令按鈕組控件可以將命令按鈕組成一組,對組中的按鈕即可單獨操作,可以將命令按鈕組成一組,對組中的按鈕即可單獨操作,也可作為一個組來統(tǒng)一操作。缺省為兩個按鈕。也可作為一個組來統(tǒng)一操作。缺省為兩個按鈕。1 1常用屬性:常用屬性:ButtonCountButtonCount:容器中按鈕的個數(shù)。容器中按鈕的個數(shù)。ValueValue:選中的按鈕的排列順序數(shù)。如第選中的按鈕的排列順序數(shù)。如第7 7個按鈕,個按鈕,ValueValue的值即為的值即為7 7。tooltiptexttooltiptext:按鈕提示。(此項有效,必須將按鈕提

39、示。(此項有效,必須將formform下的下的showtipsshowtips設(shè)置為真)設(shè)置為真)2 2命令按鈕生成器命令按鈕生成器3 3事件代碼事件代碼: : 既可為每個按鈕單獨設(shè)計事件代碼,也可既可為每個按鈕單獨設(shè)計事件代碼,也可以為整個按鈕組設(shè)計一個事件代碼,當一個事件(如以為整個按鈕組設(shè)計一個事件代碼,當一個事件(如ClickClick)在組中的某個按鈕上發(fā)生時,命令按鈕組的在組中的某個按鈕上發(fā)生時,命令按鈕組的 Value Value 屬性指明屬性指明該事件發(fā)生在哪個按鈕。該事件發(fā)生在哪個按鈕。例例6 6:編一個任意給定的兩個數(shù)做運算的:編一個任意給定的兩個數(shù)做運算的程序。程序。11

40、.3.4 11.3.4 命令按鈕組控件命令按鈕組控件步驟如下:步驟如下:(1)(1)新建一個表單;新建一個表單;添加三個標簽控件添加三個標簽控件Label1Label3Label1Label3;三個文本框控件三個文本框控件Text1Text3Text1Text3;一個命令按鈕組一個命令按鈕組Commandgroup1Commandgroup1。(2)(2)分別設(shè)置它們的屬性:分別設(shè)置它們的屬性:11.3.4 11.3.4 命令按鈕組控件命令按鈕組控件對象對象屬性屬性屬性值屬性值說明說明Label1Caption 第一個數(shù):第一個數(shù):標簽的內(nèi)容標簽的內(nèi)容Label2Caption 第二個數(shù):第二

41、個數(shù):標簽的內(nèi)容標簽的內(nèi)容Label3Caption 結(jié)果:結(jié)果:標簽的內(nèi)容標簽的內(nèi)容Text1Value 0文本初值為文本初值為0Text2Value 0文本初值為文本初值為0Text3 Value 0文本初值為文本初值為0Readonly.T.-真真文本內(nèi)容只讀文本內(nèi)容只讀Tabstop.F.-假假光標不停留光標不停留Cmand1Caption +按鈕的標題按鈕的標題Cmand2Caption -按鈕的標題按鈕的標題Cmand3Caption *按鈕的標題按鈕的標題Cmand4Caption /按鈕的標題按鈕的標題11.3.4 11.3.4 命令按鈕組控件命令按鈕組控件(3)編寫代碼:)編

42、寫代碼:設(shè)置命令按鈕設(shè)置命令按鈕command1的的click事件代碼:事件代碼:thisform.text3.value= thisform.text1.value+thisform.text2.value thisform.text1.setfocus設(shè)置命令按鈕設(shè)置命令按鈕command2的的click事件代碼:事件代碼:thisform.text3.value=thisform.text1.value-thisform.text2.valuethisform.text1.setfocus設(shè)置命令按鈕設(shè)置命令按鈕command3的的click事件代碼:事件代碼:thisform.text

43、3.value=thisform.text1.value*thisform.text2.valuethisform.text1.setfocus設(shè)置命令按鈕設(shè)置命令按鈕command4的的click事件代碼:事件代碼:thisform.text3.value=thisform.text1.value/thisform.text2.valuethisform.text1.setfocus11.3.4 11.3.4 命令按鈕組控件命令按鈕組控件例例7 7:建立一個如圖所示的成績表瀏覽表單。:建立一個如圖所示的成績表瀏覽表單。11.3.4 11.3.4 命令按鈕組控件命令按鈕組控件步驟如下:步驟如下

44、:新建一個表單文件新建一個表單文件, ,在數(shù)據(jù)環(huán)境中添加所需在數(shù)據(jù)環(huán)境中添加所需的數(shù)據(jù)表的數(shù)據(jù)表: :學生表學生表(2 2)將學生表中的姓名、性別和入學成績)將學生表中的姓名、性別和入學成績字段拖入表單中且排列好。字段拖入表單中且排列好。(3 3)添加一個命令按鈕組。)添加一個命令按鈕組。11.3.4 11.3.4 命令按鈕組控件命令按鈕組控件設(shè)置命令按鈕組設(shè)置命令按鈕組commandgroup1commandgroup1的的clickclick事事件代碼:件代碼:do casedo casecase this.value=1case this.value=1skip -1skip -1if

45、if bofbof()()go topgo topendifendifthisform.refreshthisform.refreshcase case this.valuethis.value=2=2skip 1skip 1if if eofeof()()go bottomgo bottomendifendifthisform.refreshthisform.refreshcase case this.valuethis.value=3=3thisform.releasethisform.releaseEndcaseEndcase11.3.4 11.3.4 命令按鈕組控件命令按鈕組控件11.

46、 5 復選框控件復選框控件復選框可以用來表示某些狀態(tài)是否成立。復選框可以用來表示某些狀態(tài)是否成立。常用屬性:常用屬性:captioncaption:標題標題ValueValue:為為1 1時復選框為選中狀態(tài),為時復選框為選中狀態(tài),為0 0沒選中。沒選中。事件:事件:InteractiveChange:當用鼠標或鍵盤改變此控當用鼠標或鍵盤改變此控件的值時觸發(fā)該事件。(件的值時觸發(fā)該事件。(若要在列表框、組合框或復若要在列表框、組合框或復選框的值改變時執(zhí)行某代碼,可將它編寫在選框的值改變時執(zhí)行某代碼,可將它編寫在InteractiveChange事件,而不是事件,而不是Click事

47、件中,因為事件中,因為有時控件的值的改變并不觸發(fā)有時控件的值的改變并不觸發(fā)Click事件,有時控件的事件,有時控件的值沒改變,而值沒改變,而Click事件卻會發(fā)生)事件卻會發(fā)生)例例8 8:建立下面表單:建立下面表單.5 5 復選框控件復選框控件屬性初值:屬性初值:thisform.check1.value=0thisform.check1.value=0thisform.check2.value=0thisform.check2.value=0thisform.check3.value=0thisform.check3.value=0thisform.check4.valu

48、e=0thisform.check4.value=0thisform.text1.forecolor=rgb(0,0,0)thisform.text1.forecolor=rgb(0,0,0)thisform.text1.fontoutline=.f.thisform.text1.fontoutline=.f.thisform.text1.fontitalic=.f.thisform.text1.fontitalic=.f.thisform.text1.fontbold=.f.thisform.text1.fontbold=.f..5 5 復選框控件復選框控件代碼:代碼:ch

49、eck1.InteractiveChangecheck1.InteractiveChangeif if this.valuethis.value=1=1thisform.text1.forecolor=rgb(255,0,0)thisform.text1.forecolor=rgb(255,0,0)elseelsethisform.text1.forecolor=rgb(0,0,0)thisform.text1.forecolor=rgb(0,0,0)endifendifcheck2. check2. InteractiveChangeInteractiveChangeif if this.v

50、aluethis.value=1=1thisform.text1.fontunderline=.t.thisform.text1.fontunderline=.t.elseelsethisform.text1.fontunderline=.f.thisform.text1.fontunderline=.f.endifendif.5 5 復選框控件復選框控件check3. check3. InteractiveChangeInteractiveChangeif if this.valuethis.value=1=1thisform.text1.fontitalic=.t.thi

51、sform.text1.fontitalic=.t.elseelsethisform.text1.fontitalic=.f.thisform.text1.fontitalic=.f.endifendifcheck4. check4. InteractiveChangeInteractiveChangeif if this.valuethis.value=1=1thisform.text1.fontbold=.t.thisform.text1.fontbold=.t.elseelsethisform.text1.fontbold=.f.thisform.text1.fontbold=.f.en

52、difendif.5 5 復選框控件復選框控件.6 6 組合框控件組合框控件組合框兼有列表框和文本框的功能。有兩組合框兼有列表框和文本框的功能。有兩種形式的組合框,即下拉組合框和下拉列表框,種形式的組合框,即下拉組合框和下拉列表框,通過更改控件的通過更改控件的 Style Style 屬性可選擇想要的形屬性可選擇想要的形式。式。下拉式組合框或下拉列表框的區(qū)別:前者下拉式組合框或下拉列表框的區(qū)別:前者即可以選擇已有的項目,又可以輸入一個新項,即可以選擇已有的項目,又可以輸入一個新項,后者只能從已有的項中選擇一項。后者只能從已有的項中選擇一項。1 1設(shè)置屬性設(shè)置

53、屬性ControlSourceControlSource:指定用于保存用戶選擇或輸入值指定用于保存用戶選擇或輸入值的表字段,例:的表字段,例:“政治面貌政治面貌”字段,在本控件中如不字段,在本控件中如不指定此項,則表單執(zhí)行時,表中顯示為空。指定此項,則表單執(zhí)行時,表中顯示為空。RowSourceTypeRowSourceType:數(shù)據(jù)來源類型數(shù)據(jù)來源類型RowSourceRowSource:具體的數(shù)據(jù)來源具體的數(shù)據(jù)來源StyleStyle:0.0.下拉組合框下拉組合框2.2.下拉列表框下拉列表框2 2組合框生成器組合框生成器3 3常用事件:常用事件:InteractivechangeInter

54、activechange:當用戶使用鍵盤或鼠標更改當用戶使用鍵盤或鼠標更改控件的值時發(fā)生??丶闹禃r發(fā)生。.6 6 組合框控件組合框控件例例9:9:計算器計算器.6 6 組合框控件組合框控件(1 1)組合框?qū)傩栽O(shè)置:)組合框?qū)傩栽O(shè)置:rowsourcetyperowsourcetype: :值值rowsourcerowsource:+,-,:+,-,* *,/,/屬性屬性(2 2)組合框)組合框interactivechangeinteractivechange事件代事件代碼:碼:a=a=this.valuethis.valuethisform.text3.

55、value=thisform.text1.thisform.text3.value=thisform.text1.value&a.thisform.text2.valuevalue&a.thisform.text2.value.6 6 組合框控件組合框控件例例1010如圖所示,在表單的組合框中提供了一組如圖所示,在表單的組合框中提供了一組條目供用戶選擇。寫出文本框顯示的內(nèi)容。條目供用戶選擇。寫出文本框顯示的內(nèi)容。.6 6 組合框控件組合框控件按鈕按鈕“運行運行”的的ClickClick事件中的代碼如下:事件中的代碼如下: A=ALLTRIM(

56、THISFORM.TEXT1.VALUE)A=ALLTRIM(THISFORM.TEXT1.VALUE)STORE THISFORM.COMBO1.VALUE TO B,C STORE THISFORM.COMBO1.VALUE TO B,C FOR N=1 TO LEN(A) STEP 2FOR N=1 TO LEN(A) STEP 2 C=C+SUBS(A,N,2)+B C=C+SUBS(A,N,2)+B IF N!=LEN(A)-1 IF N!=LEN(A)-1C=C+BC=C+BENDIFENDIF ENDFOR ENDFOR THISFORM.TEXT2.VALUE=C THISFO

57、RM.TEXT2.VALUE=C.6 6 組合框控件組合框控件.7 7 選選項項按鈕按鈕組組控件控件選選項項按鈕按鈕組組是包含單選按鈕的容器。通常,允許是包含單選按鈕的容器。通常,允許用戶指定幾個操作選項中的一個。用戶指定幾個操作選項中的一個。常用屬性:常用屬性:()() 選選項項按鈕按鈕組組ButtoncountButtoncount:選項按鈕的數(shù)目。選項按鈕的數(shù)目。Value:Value:選中了哪一個按鈕。選中了哪一個按鈕。()單選鈕()單選鈕CaptionCaption:標題標題ValueValue:為為1 1是表示當前單選鈕選中。是表示當前單選鈕選中

58、。例例1111:設(shè)計一個如圖所示的表單,通過選擇單選設(shè)計一個如圖所示的表單,通過選擇單選鈕對標簽文本進行前景色和背景色的設(shè)置。鈕對標簽文本進行前景色和背景色的設(shè)置。 .7 7 選選項項按鈕按鈕組組控件控件 操作步驟:操作步驟:(1)新建一個表單文件,添加一個標簽新建一個表單文件,添加一個標簽Label1,一個一個選選項項按鈕按鈕組組 Optiongroup1。(2)將選項組將選項組Optiongroup1中的按鈕個數(shù)設(shè)置為中的按鈕個數(shù)設(shè)置為3,更改其標題,并按,更改其標題,并按其其ForeColor屬性分別設(shè)置為紅、藍、綠色。將其復制生成一個選項屬性分別設(shè)置為紅、藍、綠色。將

59、其復制生成一個選項按鈕按鈕組組Optiongroup2。(3)將將Optiongroup1的的InteractiveChange事件的代碼設(shè)置如下:事件的代碼設(shè)置如下:do case case this.value=1 thisform.label1.backcolor=this.buttons(1).forecolor case this.value=2 thisform.label1.backcolor=this.buttons(2).forecolor case this.value=3 thisform.label1.backcolor=this.buttons(3).forecolo

60、rendcase.7 7 選選項項按鈕按鈕組組控件控件將將Optiongroup2的的InteractiveChange事件的代碼設(shè)置如下:事件的代碼設(shè)置如下:do case case this.value=1 thisform.label1.forecolor=this.buttons(1).forecolor case this.value=2 thisform.label1.forecolor=this.buttons(2).forecolor case this.value=3 thisform.label1.forecolor=this.buttons(3).forecoloren

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論