第6章 表單及其控件的創(chuàng)建與使用_第1頁
第6章 表單及其控件的創(chuàng)建與使用_第2頁
第6章 表單及其控件的創(chuàng)建與使用_第3頁
第6章 表單及其控件的創(chuàng)建與使用_第4頁
第6章 表單及其控件的創(chuàng)建與使用_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第6章章 表單與控件的創(chuàng)建及使用表單與控件的創(chuàng)建及使用目 錄上一頁下一頁退 出表單和控件表單和控件表單(Form)是一個容器類,由一個或多個頁面組成,每個頁面又可包含多個控件對象。 表單集(FormSet)一個或多個表單的集合。表單集中的表單可以統(tǒng)一處理,也可獨(dú)立處理。 控件(Control)是放在表單上用以顯示數(shù)據(jù)、執(zhí)行操作或使表單更易閱讀的一種圖形對象。 表單和控件是可視化編程的集中體現(xiàn)所在,是組成應(yīng)用程序的不可缺少的元素。目 錄上一頁下一頁退 出控件控件VFP主要控件有:標(biāo)簽、文本框、編輯框、微調(diào)框、復(fù)選框、選項按鈕、列表框、組合框、表格、頁框、命令按鈕、命令按鈕組、線條、圖象、形狀等

2、。 根據(jù)控件和數(shù)據(jù)的關(guān)系劃分,控件分為: 綁定型控件(Bound Control):內(nèi)容與后端的表、視圖或查詢中的字段,或內(nèi)存變量相關(guān)聯(lián)。在該控件中輸入、修改或選擇的值將保存在數(shù)據(jù)源中。 非綁定型控件:內(nèi)容不與后端的表、視圖或查詢中的字段,或內(nèi)存變量相關(guān)聯(lián)。 目 錄上一頁下一頁退 出選擇合適的控件選擇合適的控件選項按鈕組、列表框、下拉列表框、復(fù)選框等可為用戶提供一組預(yù)先設(shè)定的數(shù)據(jù)選項;文本框、編輯框、組合框等可讓用戶輸入預(yù)先不能確定的數(shù)據(jù);微調(diào)框可讓用戶輸入給定范圍的數(shù)值型數(shù)據(jù); 命令按鈕或命令按鈕組可以讓用戶進(jìn)行特定的操作; 計時器可以在給定的時間間隔內(nèi)執(zhí)行指定的操作; 表格控件可以操作多行

3、數(shù)據(jù); 標(biāo)簽、文本框、形狀、線條、圖形、圖像等可以顯示信息。 目 錄上一頁下一頁退 出設(shè)計表單的原則設(shè)計表單的原則使用用戶熟悉的控件、術(shù)語、處理方法來設(shè)計表單;表單的外觀、操作與Windows中常見的窗口/對話框盡可能地一致,使表單盡可能地簡單、易操作;根據(jù)任務(wù)的不同,設(shè)計不同的表單及表單中的控件,以便于用戶的使用;應(yīng)用程序中的表單界面保持一致;根據(jù)表單中控件的數(shù)量、所表達(dá)的數(shù)據(jù)性質(zhì)等,設(shè)計表單中控件的布局或表單所包含的頁面數(shù);具有一定的容錯能力。目 錄上一頁下一頁退 出創(chuàng)建表單創(chuàng)建表單表單文件:.SCX/.SCT表單向?qū)П韱蜗驅(qū)В簽閱蝹€表創(chuàng)建操作數(shù)據(jù)的表單。 一對多表單向?qū)В簽閮蓚€相關(guān)表創(chuàng)建

4、操作數(shù)據(jù)的表單。兩個表之間一定要存在關(guān)系,生成的表單中的記錄定位按鈕只作用于父表,子表記錄可通過窗口操作控制。 表單設(shè)計器目 錄上一頁下一頁退 出表單設(shè)計器表單設(shè)計器使用“表單設(shè)計器”能夠可視化地創(chuàng)建、修改表單和表單集。CREATE/MODIFY FORM命令或界面方式打開。表單設(shè)計器窗口表單菜單表單設(shè)計器工具欄表單控件工具欄布局工具欄調(diào)色板工具欄屬性窗口環(huán)境設(shè)置目 錄上一頁下一頁退 出表單的數(shù)據(jù)環(huán)境表單的數(shù)據(jù)環(huán)境表單(集)的數(shù)據(jù)環(huán)境包括了與表單交互作用的表和視圖,以及表單要求的表之間的關(guān)系。 數(shù)據(jù)環(huán)境是表單的一部分,并沒有自己獨(dú)立的存儲空間。 引入數(shù)據(jù)環(huán)境的目的: 打開或運(yùn)行表單時它自動地打

5、開表單所基于的表或視圖; 將表單屬性窗口中的ControlSource屬性與數(shù)據(jù)環(huán)境中的所有字段相連; 關(guān)閉或釋放表單時自動地關(guān)閉表和視圖。 在創(chuàng)建表單時,首先要設(shè)置表單的數(shù)據(jù)環(huán)境,以確定表單所用到的表和視圖。 目 錄上一頁下一頁退 出數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境設(shè)計器向數(shù)據(jù)環(huán)境中添加表或視圖從數(shù)據(jù)環(huán)境中移去表或視圖在數(shù)據(jù)環(huán)境中設(shè)置關(guān)系如果添加進(jìn)數(shù)據(jù)環(huán)境設(shè)計器的表有永久關(guān)系,這些關(guān)系將自動地加到數(shù)據(jù)環(huán)境中;如果沒有關(guān)系,可以在數(shù)據(jù)環(huán)境中設(shè)置這些關(guān)系。(拖動字段即可) 目 錄上一頁下一頁退 出向表單中添加對象向表單中添加對象表單中可以添加的對象類型有:容器對象控件對象用戶自定義對象OLE對象通過“表

6、單控件”工具欄添加對象通過“數(shù)據(jù)環(huán)境”添加對象目 錄上一頁下一頁退 出容器對象的集合屬性和計數(shù)屬性容器對象的集合屬性和計數(shù)屬性集合屬性:是數(shù)組,用以引用每個包含在其中的對象。計數(shù)屬性:表明容器所包含的對象的數(shù)目。容器集合屬性計數(shù)屬性_SCREEN、表單集FormsFormCount表單、頁面、列、工具欄、容器ControlsControlCount頁框PagesPageCount可讀寫表格ColumnsColumnCount命令組、選項組ButtonsButtonCount目 錄上一頁下一頁退 出給表單(集)添加屬性和方法程序給表單(集)添加屬性和方法程序用戶可以根據(jù)需要為表單(集)添加任意個

7、數(shù)的屬性和方法程序。創(chuàng)建新屬性:在“表單設(shè)計器”中,表單新建屬性。新建屬性的默認(rèn)值為邏輯值.F.。新建的屬性可以為數(shù)組。如:ABC4,7創(chuàng)建新方法程序:表單新建方法程序調(diào)用自定義的方法程序與調(diào)用基類方法程序一樣。目 錄上一頁下一頁退 出設(shè)置表單與所包含對象的屬性設(shè)置表單與所包含對象的屬性在“屬性”窗口中設(shè)置屬性,屬性值更改后以粗體顯示。一般步驟:選定對象在“屬性”窗口中選擇屬性在“屬性”設(shè)置框中設(shè)置屬性值或利用函數(shù)按鈕設(shè)置。注意點(diǎn):部分屬性值是只讀的。(斜體顯示)字符型屬性值不必用引號括起來。若用表達(dá)式賦值,則要在表達(dá)式前加上“=”。技巧:可以為一組對象設(shè)置同一屬性值。目 錄上一頁下一頁退 出

8、表單的常用屬性表單的常用屬性AlwaysOnTop:表單是否總處在其他打開窗口之上。AutoCenter:初始化時自動居中。BackColor:表單窗口的顏色。BorderStyle:表單的邊框類型。Caption:標(biāo)題。Closable:能否通過關(guān)閉按鈕或控制菜單關(guān)閉。ControlBox:是否顯示控制菜單。目 錄上一頁下一頁退 出表單的常用屬性表單的常用屬性MaxButton:是否有最大化按鈕。MinButton:是否有最小化按鈕。Movable:控制表單能否被拖動。Name:對象的名稱。ScaleMode:度量單位。WindowState:控制表單最大化、最小化還是正常態(tài)。WindowT

9、ype:控制表單是模式的還是非模式的。模式表單:用戶必須先關(guān)閉此表單才能訪問應(yīng)用程序中的其他界面。目 錄上一頁下一頁退 出編輯事件和方法代碼編輯事件和方法代碼事件既可以是用戶行為,也可以是系統(tǒng)行為。方法只能通過程序以特定的方式激活。代碼編輯窗口顯示代碼從“屬性”窗口打開雙擊對象目 錄上一頁下一頁退 出表單的保存和運(yùn)行表單的保存和運(yùn)行表單的保存表單文件:.SCX/.SCT表單可以另存為類表單的運(yùn)行“項目管理器”中運(yùn)行“表單設(shè)計器”中運(yùn)行命令:DO FORM 表單文件名目 錄上一頁下一頁退 出常用控件介紹常用控件介紹標(biāo)簽(Label)用以顯示文本的圖形控件。其中的文本能被用戶直接修改,通常用于顯示

10、提示信息。 Caption:標(biāo)題,最多256個字符。BackStyle:設(shè)置標(biāo)簽背景是否透明。AutoSize:確定是否可以自動地調(diào)整標(biāo)簽大小 。WordWrap:確定標(biāo)簽上的文本能否換行。 目 錄上一頁下一頁退 出常用控件介紹常用控件介紹文本框(TextBox)可以顯示、輸入、編輯非備注型字段的數(shù)據(jù)。ControlSource:指定與文本框綁定的數(shù)據(jù)源。Value:指定文本框當(dāng)前選定的值。InputMask:指定數(shù)據(jù)的輸入格式和顯示方式。Format:指定Value 屬性的輸入和輸出格式。PasswordChar:顯示口令字符。若文本框獲得焦點(diǎn)時選中所有文本,則可在其GotFocus事件中加

11、入以下代碼: textbox:gotfocus this.selstart=0 this.sellength=len(this.value) 目 錄上一頁下一頁退 出常用控件介紹常用控件介紹編輯框(EditBox)編輯框與文本框的用途相似;編輯框可以輸入或編輯長字段或備注型字段;編輯框允許自動換行并能用光標(biāo)移動鍵、操作滾動條來瀏覽文本;ScrollBars:決定編輯框是否有垂直滾動條。在實際操作時向表單中添加文本框與編輯框時可以利用相應(yīng)的生成器。許多控件都有生成器。目 錄上一頁下一頁退 出常用控件介紹常用控件介紹列表框(ListBox)與組合框(ComboBox)用于顯示一組預(yù)定的值并可以通過

12、滾動條來操作瀏覽列表信息,用戶可從列表中選擇需要的數(shù)據(jù)。RowSource:決定列表框的數(shù)據(jù)源(行源)。 RowSourceType:列表框的數(shù)據(jù)源的類型。具體見教材P.204表8-3。ControlSource:指定從列表中選擇的值保存在何處。 組合框類似列表框和文本框的組合,可在其中輸入值或從列表中選擇條目。 Style:決定組合框的類型。目 錄上一頁下一頁退 出列表框與組合框的使用列表框與組合框的使用RowSourceType屬性值為0或者1時,可用Sorted屬性指定列表部分的名項是否按字母排序。RowSourceType值為3或4時,Requery方法重新查詢列表框或組合框控件所基于

13、的行源。使用Requery方法可確保控件中的數(shù)據(jù)最新。 目 錄上一頁下一頁退 出列表框與組合框的使用列表框與組合框的使用在使用列表框時,有時需要根據(jù)列表框中的選擇查看或編輯相應(yīng)的記錄,可有多種方法做到: 當(dāng)RowSourceType屬性值為2、6時,在列表中選擇一個值后,記錄指針將自動移到所選的記錄上,然后在列表框的InteractiveChange事件中加入Refresh方法。 當(dāng)RowSourceType屬性值為0、1、3、4、5時,在InteractiveChange事件中選擇包含所需記錄的表,然后搜索想要值。 目 錄上一頁下一頁退 出一對多表單中的使用一對多表單中的使用利用本地表和視圖

14、都可以實現(xiàn): 本地表:RowSourceType屬性值為2、6時,且RowSource屬性是本地表,該本地表在數(shù)據(jù)環(huán)境中具有關(guān)系設(shè)置,則當(dāng)用戶選擇新值時,可使用THISFORM.REFRESH方法。一對多中的“多”方自動顯示與關(guān)系中父表的表達(dá)式相匹配的記錄。 視圖:在視圖設(shè)計器中創(chuàng)建視圖時,將SELECT語句中的參數(shù)設(shè)置為列表的Value屬性,即:SELECT * FROM kc WHERE rkjsgh=?_screen.activeform.gh.value 目 錄上一頁下一頁退 出常用控件介紹常用控件介紹選項按鈕組(OptionGroup)包含選項按鈕的容器控件。有時也叫單選按鈕。選項按

15、鈕組允許用戶從中選擇一個按鈕,選定某個按鈕后將釋放先前的選擇,選項按鈕旁的圓點(diǎn)指示當(dāng)前選擇。 ButtonCount:設(shè)置選項按鈕組中選項按鈕的數(shù)目。Caption:標(biāo)題屬性。ControlSource:約定數(shù)據(jù)源。Value:表示選定的是第幾個按鈕。目 錄上一頁下一頁退 出常用控件介紹常用控件介紹復(fù)選框(CheckBox)指定或顯示一個邏輯狀態(tài):真/假、開/關(guān)、是/否。 復(fù)選框有三種可能的狀態(tài):0或F、1或T、2或NULL。 ControlSource:設(shè)置為表中的邏輯型字段。當(dāng)前記錄值為“真”時,選中;“假”時,未選中;當(dāng)前記錄為空值時復(fù)選框顯示為灰色。 目 錄上一頁下一頁退 出常用控件介

16、紹常用控件介紹表格(Grid)表格是一個按行和列顯示數(shù)據(jù)的容器對象。表格包含的列除了包含標(biāo)頭(Header)和控件外,每列還有自己的一組屬性、事件和方法。 表格常用于顯示一對多關(guān)系中的子表。 如果表單的數(shù)據(jù)環(huán)境包含兩表之間的一對多關(guān)系,要在表單中顯示這個一對多關(guān)系,只需要把父表字段和子表拖到表單中即可。表格的RecordSource等屬性自動設(shè)置。 目 錄上一頁下一頁退 出表格的常用屬性表格的常用屬性RecordSource:指定表格的數(shù)據(jù)源。RecordSourceType:指定表格的數(shù)據(jù)源類型。ColumnCount:設(shè)置表格的列數(shù)。(默認(rèn)值為-1)DeleteMark:指定表格控制中是否

17、出現(xiàn)刪除標(biāo)記列。DynamicFontName:確定列中顯示文本所用的字體名。DynamicFontSize:確定列對象中文本字體的大小。 DynamicForeColor:確定列對象的前景色。 目 錄上一頁下一頁退 出常用控件介紹常用控件介紹微調(diào)框(Spinner)通過單擊微調(diào)框上、下箭頭或在微調(diào)框中直接輸入一個數(shù)值可實現(xiàn)微調(diào)控件在一個數(shù)值范圍內(nèi)進(jìn)行選擇。 ControlSource:指定數(shù)據(jù)源。Value:指定當(dāng)前值。KeyBoardHighValue:指定從鍵盤輸入微調(diào)框的最大值。 SpinnerHighValue:指定通過單擊微調(diào)框可輸入的最大值。 KeyBoardLowValue:指

18、定從鍵盤輸入微調(diào)框的最小值。 SpinnerLowValue:指定通過單擊微調(diào)框可輸入的最小值。 Increment:指定步長值。(默認(rèn)1.00) 目 錄上一頁下一頁退 出常用控件介紹常用控件介紹命令按鈕與命令按鈕組命令按鈕(CommandButton)常用來啟動一個事件以完成某種功能。Caption:指定按鈕標(biāo)題。Picture:指定按鈕圖片。Default:取“真”時,可按“回車”鍵選擇此按鈕。 Cancel:取“真”時,可按“Esc”鍵選擇此按鈕。 Enabled:指定能否響應(yīng)用戶引發(fā)的事件。 ButtonCount:指定命令按追鈕組中按鈕的數(shù)目對命令按鈕組可以單個或作為一組操作其中的按

19、鈕。目 錄上一頁下一頁退 出常用控件介紹常用控件介紹計時器(Timer)計時器是在應(yīng)用程序中用來處理反復(fù)發(fā)生的事件的控件。該控件在運(yùn)行時不可見,用于后臺處理。Enabled:取值為“.T.”時,計時器在表單加載時就開始工作。 Interval:指定控件的Timer事件時間間隔,單位為毫秒。決定事件發(fā)生的頻率。 Reset方法可重置計時器控件,讓它從0開始。 目 錄上一頁下一頁退 出常用控件介紹常用控件介紹線條用于創(chuàng)建一個水平、垂直或?qū)蔷€條。 Left:容器左邊界與控件左邊界之間的距離。 Top:容器上邊界與控件上邊界之間的距離。 Height:控件的高度。 Width:控件的寬度。 Bord

20、erWidth:指定線條的線寬。(08192像素點(diǎn)) BorderStyle:反映定線型。 LineSlant:指定線條的傾斜方向。(默認(rèn)):從左上到右下;/:從左下到右上。) 目 錄上一頁下一頁退 出常用控件介紹常用控件介紹形狀用于創(chuàng)建各種形狀圖形。 Curvature:決定顯示會么樣的圖形。范圍:099。0表示無曲率,用來創(chuàng)建矩形;198指定圓角,數(shù)字越大,曲率越大;99表示最大曲率,用來創(chuàng)建圓和橢圓(Hight和 Width值相同時為圓)。 FillStyle:指定用來填充形狀的圖案。 SpecialEffect:指定控件的樣式(三維的或平面的)。 目 錄上一頁下一頁退 出常用控件介紹常

21、用控件介紹頁框(PageFrame)頁框頁框是包含頁面的容器對象。 對頁面所在的表單使用Refresh方法時,只刷當(dāng)前活動的頁面。 PageCount:指定頁框包含的頁面數(shù)(默認(rèn)為2)。 Tabs:頁框的該屬性確定頁面的“選項卡”是否可見(默認(rèn)為.T.)。 TabStyle:用于指定選項卡都是相同的大小且都與頁框的寬度相同。 目 錄上一頁下一頁退 出頁框頁框管理選項卡的長標(biāo)題 如果選項卡的標(biāo)題太長,不能在給定頁框?qū)挾群晚撁鏀?shù)的選項卡上顯示出來,則可以: TabStretch屬性設(shè)置為1-剪裁:只顯示放入選項卡中的字符(默認(rèn)) TabStretch屬性設(shè)置為0-堆積:選項卡層疊起來,以便所有選項

22、卡中的整個標(biāo)題都能顯示出來。 在程序中換頁面 不管頁框是否具有選項卡,都可以從程序中使用ActivePage屬性來激活一個頁面。 目 錄上一頁下一頁退 出OLEOLE是一種協(xié)議。根據(jù)該協(xié)議,一個OLE對象(如電子表格、WORD文檔等)可以鏈接或嵌入表單中或表的通用字段中。 嵌入嵌入用于將一個對象的副本從一個應(yīng)用程序插入另一個應(yīng)用程序。對象的副本嵌入后,不再與原來的對象有任何關(guān)聯(lián)。如果原來的對象有所改變,嵌入的對象不受影響。 鏈接鏈接表示在源文檔與目標(biāo)文檔之間的一種連接。鏈接對象保存了來自源文檔的信息,并對兩文檔之間的連接進(jìn)行維護(hù)。當(dāng)源文檔中的信息發(fā)生變化時,這種變化將在目標(biāo)文檔中體現(xiàn)出來。 目

23、 錄上一頁下一頁退 出OLE容器控件和容器控件和OLE綁定型控件綁定型控件 OLE容器控件用于創(chuàng)建一個OLE容器對象。 OLE對象包括OLE控件,或者其他應(yīng)用程序創(chuàng)建的可插入的OLE對象。OLE容器控件與OLE綁定型控件也不同,它不與VFP表的一個通用字段相連接。OLE綁定型控件允許用表中的通用字段顯示一個OLE對象內(nèi)容。 常見屬性見教材P.218。目 錄上一頁下一頁退 出增強(qiáng)控件的易用性增強(qiáng)控件的易用性設(shè)置訪問鍵設(shè)置訪問鍵能在表單的任何地方通過按Alt和訪問鍵來選擇一個控件。 設(shè)置方法:在Caption屬性中,把作為訪問鍵的字母前加上“”。 若要為文本框指定訪問鍵,則:首先創(chuàng)建一個標(biāo)簽,在標(biāo)

24、簽的Caption屬性中設(shè)置包含有訪問鍵的值,然后確保標(biāo)簽TAB鍵的次序在文本框之前,且要相鄰。 目 錄上一頁下一頁退 出增強(qiáng)控件的易用性增強(qiáng)控件的易用性設(shè)置控件的“Tab鍵次序”TAB鍵次序是指在表單上按下TAB鍵時,焦點(diǎn)從一個對象移到另一個對象的次序。表單的TAB鍵次序決定了控件選擇的順序。 系統(tǒng)默認(rèn)的TAB鍵次序是控件添加到表單上的次序。 設(shè)置TAB鍵次序目 錄上一頁下一頁退 出增強(qiáng)控件的易用性增強(qiáng)控件的易用性設(shè)置工具提示文本ToolTipText:當(dāng)用戶的鼠標(biāo)指針在控件上停留時將顯示該屬性指定的文本。 表單的ShowTips屬性決定是否顯示工具提示文本。(默認(rèn)為不可顯示) 啟用和停用控件Enabled:為“真”時啟用,為“假”時廢止控件。設(shè)置組的Enabled屬性不會影響組中單個控件的此屬性(保留外觀)。 如果讓組中的所有按鈕廢止,顯示出廢

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論