




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、l面向對象程序設計簡介面向對象程序設計簡介l表單設計概述表單設計概述l表單設計器運用表單設計器運用l數(shù)據(jù)環(huán)境與數(shù)據(jù)綁定數(shù)據(jù)環(huán)境與數(shù)據(jù)綁定l常用表單控件常用表單控件l表單集與多重表單表單集與多重表單48.1.1 8.1.1 面向對象程序設計概述面向對象程序設計概述4面向對象程序設計簡稱面向對象程序設計簡稱OOPOOPObject-Oriented Object-Oriented ProgrammingProgramming,是當前程序設計的主流方向,是當前程序設計的主流方向,是程序設計在思想上和方法上的一次飛躍。是程序設計在思想上和方法上的一次飛躍。JOOPOOP用用“對象表示各種事物、用對象表
2、示各種事物、用“類表示對類表示對象的籠統(tǒng)、用象的籠統(tǒng)、用“音訊實現(xiàn)對象之間的聯(lián)絡、音訊實現(xiàn)對象之間的聯(lián)絡、用用“方法實現(xiàn)對象處置的過程方法實現(xiàn)對象處置的過程J采用面向對象和事件驅動的編程方式,將對象采用面向對象和事件驅動的編程方式,將對象看作是數(shù)據(jù)及可以施加在這些數(shù)據(jù)之上的可執(zhí)看作是數(shù)據(jù)及可以施加在這些數(shù)據(jù)之上的可執(zhí)行的操作所構成的一致體,將整個程序看作是行的操作所構成的一致體,將整個程序看作是相互協(xié)作而又相互獨立的、有任務才干的對象相互協(xié)作而又相互獨立的、有任務才干的對象的集合的集合JOOPOOP所做的是創(chuàng)建所需的各個對象,并按運用所做的是創(chuàng)建所需的各個對象,并按運用系統(tǒng)的需求建立對象之間協(xié)
3、同任務的才干系統(tǒng)的需求建立對象之間協(xié)同任務的才干41 1對象對象ObjectObject4 對象是一個具有各種屬性數(shù)據(jù)和方法程對象是一個具有各種屬性數(shù)據(jù)和方法程序代碼的實體,如命令按鈕、文本框、菜單等。序代碼的實體,如命令按鈕、文本框、菜單等。42 2屬性屬性PropertyProperty4 對象所具有的各種不同特征被稱為對象的屬性。對象所具有的各種不同特征被稱為對象的屬性。在在OOPOOP中,屬性實踐上是某個對象的各種特征數(shù)中,屬性實踐上是某個對象的各種特征數(shù)據(jù)。如命令按鈕的字體、大小、顏色等據(jù)。如命令按鈕的字體、大小、顏色等43 3方法方法MethodMethod4 對象的行為和動作被稱
4、為對象的方法。在對象的行為和動作被稱為對象的方法。在OOPOOP中,方法實踐上是對象可以執(zhí)行并完成相中,方法實踐上是對象可以執(zhí)行并完成相應義務的操作代碼集合。應義務的操作代碼集合。44 4事件事件EventEvent4 對象可以識別和呼應的動作被稱為事件。在對象可以識別和呼應的動作被稱為事件。在OOPOOP中,事件是一些預先定義好的特定動作,中,事件是一些預先定義好的特定動作,可由系統(tǒng)觸發(fā),在大多數(shù)情況下那么由用戶的可由系統(tǒng)觸發(fā),在大多數(shù)情況下那么由用戶的操作觸發(fā)。操作觸發(fā)。O例例1 1 如以下圖是一表單程序如以下圖是一表單程序C“退出按鈕退出按鈕C 是一個命令按鈕,是一個對象是一個命令按鈕,
5、是一個對象CGOTFOCUSGOTFOCUS,CLICKCLICKC 是事件,表示得到標、鼠標單擊是事件,表示得到標、鼠標單擊CTHIS.FORECOLOR=RGB(255,0,0)THIS.FORECOLOR=RGB(255,0,0)C FORECOLOR FORECOLOR是屬性是屬性CTHISFORM.RELEASETHISFORM.RELEASEC RELEASE RELEASE是方法是方法4在在OOPOOP中,類是一批類似對象的歸納和籠統(tǒng),是中,類是一批類似對象的歸納和籠統(tǒng),是對一批類似對象的共有屬性和方法的描畫。就一對一批類似對象的共有屬性和方法的描畫。就一個詳細的對象而言,該對象
6、本身只是其所屬的某個詳細的對象而言,該對象本身只是其所屬的某個類中的一個實例個類中的一個實例41 1封裝性封裝性4 在在OOPOOP中,對象的屬性和方法被封裝在單獨中,對象的屬性和方法被封裝在單獨的一段源代碼中,并且對數(shù)據(jù)的訪問只能經過的一段源代碼中,并且對數(shù)據(jù)的訪問只能經過調用該對象本身的方法來進展,對象之間的相調用該對象本身的方法來進展,對象之間的相互作用只能經過音訊的傳送來實現(xiàn)。因此,對互作用只能經過音訊的傳送來實現(xiàn)。因此,對象是一個完全封裝的實體,具有模塊獨立性,象是一個完全封裝的實體,具有模塊獨立性,運用起來更為方便與平安。運用起來更為方便與平安。 對象是可以加以分類的,并且可在某個
7、類的根對象是可以加以分類的,并且可在某個類的根底上繼續(xù)分類,類之間的內在聯(lián)絡可用類的層底上繼續(xù)分類,類之間的內在聯(lián)絡可用類的層次構造來描畫。處于上層的類被稱為父類,處次構造來描畫。處于上層的類被稱為父類,處于下層的類被稱為子類或派生類。子類是父類于下層的類被稱為子類或派生類。子類是父類的詳細化、特殊化;父類是子類的籠統(tǒng)化。的詳細化、特殊化;父類是子類的籠統(tǒng)化。 對象與類的承繼性在對象與類的承繼性在OOPOOP中得到了充分的表達。中得到了充分的表達。例如可由某個類生成假設干個對象,這些對象例如可由某個類生成假設干個對象,這些對象將自動具有該類所具有的屬性和方法;也可以將自動具有該類所具有的屬性和
8、方法;也可以由現(xiàn)有的類派生出新類,該新類將自動具有其由現(xiàn)有的類派生出新類,該新類將自動具有其父類所具有的屬性和方法。父類所具有的屬性和方法。 用戶在對某個對象進展操作時,可忽略其內部用戶在對某個對象進展操作時,可忽略其內部的實現(xiàn)細節(jié),隱藏其復雜性,因此對象被籠統(tǒng)的實現(xiàn)細節(jié),隱藏其復雜性,因此對象被籠統(tǒng)化了。除此之外,化了。除此之外,“類的概念本身就是對性類的概念本身就是對性質類似的一批對象的籠統(tǒng)。質類似的一批對象的籠統(tǒng)。 多態(tài)性是指同類的對象可以有不同的表現(xiàn)方式。多態(tài)性是指同類的對象可以有不同的表現(xiàn)方式。在在OOPOOP中,對象的多態(tài)性不僅是指同類的對象中,對象的多態(tài)性不僅是指同類的對象可以有
9、不同的屬性,還可以指同類對象對于一可以有不同的屬性,還可以指同類對象對于一樣的觸發(fā)事件可以有不同的反響動作,或對于樣的觸發(fā)事件可以有不同的反響動作,或對于一樣的功能具有不同的實現(xiàn)方式等。一樣的功能具有不同的實現(xiàn)方式等。4Visual FoxProVisual FoxPro提供了一系列的根本對象類,提供了一系列的根本對象類,簡稱基類簡稱基類4控件控件ControlControl類對象不能包含其他對象,類對象不能包含其他對象,通常是一個圖形化的、并能與用戶進展交互的通常是一個圖形化的、并能與用戶進展交互的對象對象4容器容器ContainerContainer類對象可以包含其他對象,類對象可以包含其
10、他對象,用戶可以單獨地訪問和處置容器類對象中所包用戶可以單獨地訪問和處置容器類對象中所包含的任何一個對象含的任何一個對象CheckBox LabelCheckBox LabelComboBox EditBoxComboBox EditBoxCommandButton ImageCommandButton ImageOptionButton LineOptionButton LineListBox SpinnerListBox SpinnerOLEBound TextBoxOLEBound TextBoxOLEContainer TimerOLEContainer TimerShape Hype
11、rLinkShape HyperLinkContainerContainer:可包含恣意控件:可包含恣意控件FormSetFormSet:可包含多個表單、工具欄:可包含多個表單、工具欄FormForm:恣意控件:恣意控件GridGrid:多個表格列:多個表格列ColumnColumn:列標題頭:列標題頭PageFramePageFrame:多個頁面:多個頁面PagePage:恣意多個控件、容器、自定義對象:恣意多個控件、容器、自定義對象CommandGroupCommandGroup:多個命令按鈕:多個命令按鈕OptionGroupOptionGroup:多個選項按鈕:多個選項按鈕ToolBa
12、rToolBar:恣意多個控件、容器、頁框:恣意多個控件、容器、頁框ProjectHookProjectHook:文件與效力程序:文件與效力程序4對某對象進展操作方法:援用對某對象進展操作方法:援用4援用格式:援用格式:4 . 4 . 4 . 41 1絕對援用絕對援用4 對一個對象的援用是從最外層的容器對象開對一個對象的援用是從最外層的容器對象開場直至該對象的,稱為對象的絕對援用。場直至該對象的,稱為對象的絕對援用。4如:設置以下圖表單中的如:設置以下圖表單中的“紅色按鈕的紅色按鈕的“標題標題THISFORM.THISFORM.紅色紅色.CAPTION=.CAPTION=紅色紅色 4一個對象的
13、援用是從參照關鍵字開場至該對象一個對象的援用是從參照關鍵字開場至該對象的,被稱為對象的相對援用的,被稱為對象的相對援用4PARENTPARENT 本對象的父對象本對象的父對象4THISTHIS 本對象本對象4THISFORMTHISFORM 包含本對象的表單包含本對象的表單4THISFORMSETTHISFORMSET 包含本對象的表單集包含本對象的表單集O例例2 2 對象的援用對象的援用LABLEL1LABLEL1COMMAND1COMMAND1COMMAND2COMMAND2COMMAND3COMMAND3FORM1FORM1F表單表單FORM1FORM1的的INITINIT事件的代碼事件
14、的代碼F THISMAND1.CAPTION=THISMAND1.CAPTION=設置表單設置表單 F THISMAND2.CAPTION= THISMAND2.CAPTION=設置標簽設置標簽 F THISFORMMAND3.CAPTION= THISFORMMAND3.CAPTION=退退 出出 F按鈕按鈕COMMAND1COMMAND1的的CLICKCLICK事件的代碼事件的代碼F THIS.PARENT.CAPTION=THIS.PARENT.CAPTION=這是第八章例題這是第八章例題22F THIS.PARENT.BACKCOLOR=RGB(200,250,200)THIS.PAR
15、ENT.BACKCOLOR=RGB(200,250,200)F THISFORM.REFRESH THISFORM.REFRESHF按鈕按鈕COMMAND2COMMAND2的的CLICKCLICK事件的代碼事件的代碼F THISFORM.LABEL1.CAPTION=THISFORM.LABEL1.CAPTION=請點擊我一請點擊我一下下 F THISFORM.LABEL1.FORECOLOR=RGB(255,0,0)THISFORM.LABEL1.FORECOLOR=RGB(255,0,0)F THIS.PARENT.LABEL1.FONTNAME= THIS.PARENT.LABEL1.F
16、ONTNAME=黑體黑體 F THISFORM.REFRESH THISFORM.REFRESHF按鈕按鈕COMMAND3COMMAND3的的CLICKCLICK事件的代碼事件的代碼F THISFORM.RELEASETHISFORM.RELEASEF標簽標簽LABELLABEL的的CLICKCLICK事件的代碼事件的代碼F THIS.CAPTION=THIS.CAPTION=您真乖,謝謝!您真乖,謝謝! 4表單的英文名為表單的英文名為FormForm,是一個可以具有各種屬,是一個可以具有各種屬性、控件、事件和方法程序的容器對象性、控件、事件和方法程序的容器對象4各種窗口與對話框均為表單的不同
17、表現(xiàn)方式各種窗口與對話框均為表單的不同表現(xiàn)方式4表單往往用來作為數(shù)據(jù)輸入、修正或輸出的用表單往往用來作為數(shù)據(jù)輸入、修正或輸出的用戶界面。戶界面。4創(chuàng)建表單的各種途徑創(chuàng)建表單的各種途徑41. 1. 運用表單導游創(chuàng)建表單運用表單導游創(chuàng)建表單4 簡單數(shù)據(jù)維護表單簡單數(shù)據(jù)維護表單42. 2. 運用表單生成器創(chuàng)建表單運用表單生成器創(chuàng)建表單4 快速生成與某個數(shù)據(jù)有關的表單快速生成與某個數(shù)據(jù)有關的表單43. 3. 運用表單設計器創(chuàng)建表單運用表單設計器創(chuàng)建表單4 是最常用、最直觀的方法是最常用、最直觀的方法44. 4. 經過編寫程序的方法創(chuàng)建表單經過編寫程序的方法創(chuàng)建表單4 要求熟練地掌握面向對象編程的方法與
18、技巧要求熟練地掌握面向對象編程的方法與技巧4方法:方法:“文件文件/ /新建新建/ /表單表單/ /導游導游4創(chuàng)建單表表單創(chuàng)建單表表單4例例3 3 用用zgdazgda表創(chuàng)建一個對表創(chuàng)建一個對zgdazgda表維護的表單表維護的表單4創(chuàng)建一對多表單創(chuàng)建一對多表單4例例4 4 用圖書管理數(shù)據(jù)庫用圖書管理數(shù)據(jù)庫(Student(Student表、表、BorrowBorrow表表) )創(chuàng)建一個一對多的表單,分頁列出學生表創(chuàng)建一個一對多的表單,分頁列出學生表中每個學生的借書情況中每個學生的借書情況4表單生成器可以方便、快速地生成一個與數(shù)據(jù)表單生成器可以方便、快速地生成一個與數(shù)據(jù)表有關的表單表有關的表單
19、4步驟一:創(chuàng)建新表單步驟一:創(chuàng)建新表單4方式方式1 1:在:在“工程管理器中,選擇工程管理器中,選擇“文檔文檔/ /表單表單/ /新建新建/ /新建表單新建表單4方式方式2 2:執(zhí)行:執(zhí)行“文件文件/ /新建新建/ /表單表單/ /新建文件菜新建文件菜單命令單命令4方式方式3 3:格式:格式:CREATE FORM CREATE FORM 3步驟二:用生成器生成步驟二:用生成器生成3方式方式1 1:單擊:單擊“表單設計器工具欄中的表單設計器工具欄中的“表單表單生成器按鈕生成器按鈕3方式方式2 2:右鍵單擊表單窗口,在彈出的快捷菜:右鍵單擊表單窗口,在彈出的快捷菜單中選擇單中選擇“生成器命令生成
20、器命令3方式方式3 3:選擇主窗口:選擇主窗口“表單菜單的表單菜單的“快速表單快速表單命令命令3例例5 5 用表單生成器快速生成一個職工檔案表用表單生成器快速生成一個職工檔案表單單41 1菜一方式菜一方式4方式方式1 1:在:在“工程管理器中,選擇工程管理器中,選擇“文檔文檔/ /表單表單/ /新建新建/ /新建表單新建表單4方式方式2 2:執(zhí)行:執(zhí)行“文件文件/ /新建新建/ /表單表單/ /新建文件菜單新建文件菜單命令。命令。42 2命令方式命令方式4 格式:格式:CREATE FORM CREATE FORM 4表單文件擴展名表單文件擴展名.scx.scx,表單備注文件擴展名,表單備注文
21、件擴展名.sct.sct41 1表單的修正表單的修正41 1菜一方式菜一方式4方式方式1 1:在:在“工程管理器工程管理器/ /文檔選項卡中,選文檔選項卡中,選中要修正的表單,單擊中要修正的表單,單擊“修正按鈕修正按鈕4方式方式2 2:執(zhí)行:執(zhí)行“文件文件/ /翻開菜單命令,翻開要翻開菜單命令,翻開要修正的表單文件修正的表單文件42 2命令方式命令方式4 格式:格式:MODIFY FORM MODIFY FORM 41 1菜一方式菜一方式4方法方法1 1:在:在“工程管理器工程管理器/ /文檔選項卡內選中要文檔選項卡內選中要運轉的表單,單擊運轉的表單,單擊“運轉按鈕。運轉按鈕。4方法方法2 2
22、:執(zhí)行:執(zhí)行“程序程序/ /運轉菜單命令,選定要運運轉菜單命令,選定要運轉的表單,單擊轉的表單,單擊“運轉按鈕。運轉按鈕。4方法方法3 3:翻開表單,執(zhí)行:翻開表單,執(zhí)行“表單表單/ /執(zhí)行表單菜單執(zhí)行表單菜單命令,或按命令,或按Ctrl+ECtrl+E組合鍵。組合鍵。42 2命令方式命令方式4 格式:格式:DO FORM DO FORM WITH WITH O例例6 6 下面表單的文件名:下面表單的文件名:E8_6E8_6,那么,那么O 修正表單的命令應為:修正表單的命令應為:MODI FORM E8_6MODI FORM E8_6O 運轉表單的命令應為:運轉表單的命令應為:DO FORM
23、E8_6DO FORM E8_641 1規(guī)劃屬性規(guī)劃屬性4TopTop:離頂端的間隔:離頂端的間隔4LeftLeft:離左邊的間隔:離左邊的間隔4WidthWidth:控件的寬:控件的寬4HeightHeight:控件的高:控件的高4FontnameFontname:字體類型:字體類型4FontsizeFontsize:字體大小:字體大小4BackcolorBackcolor:背景顏色:背景顏色4ForecolorForecolor:前景顏色:前景顏色FAlignmentAlignment:控件中的文本對齊方式:控件中的文本對齊方式FCaptionCaption:顯示的標題:顯示的標題FAut
24、oSizeAutoSize:能否根據(jù)控件內容調整大小:能否根據(jù)控件內容調整大小FBorderStyleBorderStyle:邊框類型:邊框類型FBackStyleBackStyle:對象的背景能否透明:對象的背景能否透明FStatusBarTextStatusBarText:鼠標停在控件上所要顯示的文字:鼠標停在控件上所要顯示的文字FVisibleVisible:設置對象能否可見:設置對象能否可見F2. 2. 數(shù)據(jù)屬性數(shù)據(jù)屬性FControlSourceControlSource:指定對象綁定的數(shù)據(jù)源:指定對象綁定的數(shù)據(jù)源FRowSourceRowSource:指定列表或組合框所綁定的數(shù)據(jù):
25、指定列表或組合框所綁定的數(shù)據(jù)FRowSourceTypeRowSourceType:列表或組合框所綁定的數(shù)據(jù)類型:列表或組合框所綁定的數(shù)據(jù)類型FReadOnlyReadOnly:控件數(shù)據(jù)的只讀屬性:控件數(shù)據(jù)的只讀屬性FValueValue:控件形狀或值:控件形狀或值FRecordSource RecordSource 指定與表格綁定的數(shù)據(jù)源指定與表格綁定的數(shù)據(jù)源 FRecordSourceType RecordSourceType 指定與表格綁定的數(shù)據(jù)類型指定與表格綁定的數(shù)據(jù)類型F3. 3. 其它屬性其它屬性FNameName:設置對象的名,默許控件類型加數(shù)字命名:設置對象的名,默許控件類型加
26、數(shù)字命名FEnabledEnabled:設置對象能否可用:設置對象能否可用FTabIndexTabIndex:設置用:設置用TabTab鍵切換時得到焦點的順序鍵切換時得到焦點的順序FTabStopTabStop:設置用:設置用TABTAB鍵切換時能否可以得到焦點鍵切換時能否可以得到焦點F屬性的設置方法屬性的設置方法F用屬性窗口進展設置用屬性窗口進展設置F在程序中用賦值語句進展賦值在程序中用賦值語句進展賦值F獲得屬性值的方法獲得屬性值的方法F用賦值語句獲得屬性值用賦值語句獲得屬性值F如設置表單的如設置表單的HeightHeightF(1)(1)方法一:在表單的初始化方法一:在表單的初始化(Ini
27、t)(Init)事件中,寫入事件中,寫入代碼,如圖一所示代碼,如圖一所示F(2)(2)方法二:用屬性窗口進展賦值,如圖二所示方法二:用屬性窗口進展賦值,如圖二所示圖一圖一圖二圖二(3)(3)獲得屬性值獲得屬性值A=thisform.heightA=thisform.height44. 4. 方法方法4RefreshRefresh:刷新該對象,即數(shù)據(jù)更新:刷新該對象,即數(shù)據(jù)更新4ReleaseRelease:釋放該對象:釋放該對象4SetFocusSetFocus:設置該對象得焦點:設置該對象得焦點4Move(a,b)Move(a,b):把該對象移到指定的位置:把該對象移到指定的位置(a,b)(
28、a,b)4HideHide:對象隱藏:對象隱藏4ShowShow:對象顯示:對象顯示4如下面的援用如下面的援用4 Thisform.releaseThisform.release4 Thisform.text1.setfocus Thisform.text1.setfocus4 Thisform.shape1.move(100,50) Thisform.shape1.move(100,50)4 Thisform.grid1.refresh Thisform.grid1.refresh4事件事件4LoadLoad:對象加載時發(fā)生:對象加載時發(fā)生4InitInit:對象初始化時發(fā)生,發(fā)生在:對象初
29、始化時發(fā)生,發(fā)生在LoadLoad之后之后4ActivateActivate:對象激活時發(fā)生:對象激活時發(fā)生4ClickClick:鼠標單擊該對象時發(fā)生:鼠標單擊該對象時發(fā)生4DblClickDblClick:鼠標雙擊該對象時發(fā)生:鼠標雙擊該對象時發(fā)生4GotFocusGotFocus:對象得到焦點時發(fā)生:對象得到焦點時發(fā)生4LostFocusLostFocus:對象失去焦點時發(fā)生:對象失去焦點時發(fā)生4KeyPressKeyPress:按下鍵盤時發(fā)生:按下鍵盤時發(fā)生4MouseDownMouseDown:鼠標按下時發(fā)生:鼠標按下時發(fā)生4DestroyDestroy:對象釋放時發(fā)生:對象釋放時發(fā)
30、生O例例7 7 建立如下兩個表單建立如下兩個表單E8_7.scxE8_7_2.scx3表單一:表單一:Form1Form13LoadLoad事件事件3 messagebox(messagebox(這是這是LOADLOAD事件事件,64,e8_7),64,e8_7)3InitInit事件事件3 messagebox(messagebox(這是這是INITINIT事件事件,64,e8_7),64,e8_7)3ActivateActivate事件事件3 messagebox(messagebox(這是這是ACTIVATEACTIVATE事件事件,64,e8_7),64,e8_7)3RefreshRe
31、fresh事件事件3 messagebox(messagebox(這是這是 REFRESH REFRESH 事件事件,64,e8_7),64,e8_7)3GotFocusGotFocus事件事件3 messagebox(messagebox(這是這是 GOTFOCUS GOTFOCUS 事件事件,64,e8_7),64,e8_7)3ClickClick事件事件3 messagebox(messagebox(這是這是 CLICK CLICK 事件事件,64,e8_7),64,e8_7)FKeyPressKeyPress事件事件F LPARAMETERS nKeyCode, nShiftAltCt
32、rlLPARAMETERS nKeyCode, nShiftAltCtrlF messagebox( messagebox(這是這是KEYPRESSKEYPRESS事件事件, ,他按的是:他按的是:+chr(nKeyCode),64,e8_7)+chr(nKeyCode),64,e8_7)FHideHide事件事件F messagebox(messagebox(這是這是HIDEHIDE事件事件,64,e8_7),64,e8_7)FReleaseRelease事件事件F messagebox(messagebox(這是這是 RELEASE RELEASE 事件事件,64,e8_7),64,e8_
33、7)FLostFocusLostFocus事件事件F messagebox(messagebox(這是這是 LOSTFOCUS LOSTFOCUS 事件事件,64,e8_7),64,e8_7)FDeactivateDeactivate事件事件F messagebox(messagebox(這是這是 DEACTIVATE DEACTIVATE 事件事件,64,e8_7),64,e8_7)FDestroyDestroy事件事件F messagebox(messagebox(這是這是 DESTORY DESTORY 事件事件,64,e8_7),64,e8_7)FUnloadUnload事件事件F m
34、essagebox(messagebox(這是這是UNLOADUNLOAD事件事件,64,e8_7),64,e8_7)FCommand1Command1的的ClickClick事件事件F thisform.hidethisform.hideF do form e8_7_2 do form e8_7_23表單二:表單二:Form2Form23DblClickDblClick事件事件3 messagebox(messagebox(這是這是DBLCLICKDBLCLICK事件事件,64,e8_7_2),64,e8_7_2)3RefreshRefresh事件事件3 messagebox(message
35、box(這是這是 REFRESH REFRESH 事件事件,64,e8_7_2),64,e8_7_2)3Command1Command1的的ClickClick事件事件3 thisform.refreshthisform.refresh3Command2Command2的的ClickClick事件事件3 e8_7.releasee8_7.release3 * *thisform.releasethisform.release3 release thisform release thisform3當運轉當運轉E8_7.scxE8_7.scx時,下面四個對話框出現(xiàn)的先后順時,下面四個對話框出現(xiàn)的先
36、后順序序(1)(2)(3)(4)3當單擊當單擊“ShowShow表單時,即隱藏表單時,即隱藏e8_7e8_7,激活,激活e8_7_2e8_7_2時,下面四個對話框不會出現(xiàn)的是時,下面四個對話框不會出現(xiàn)的是(1)(2)(3)(4)3退出退出E8_7_1.scxE8_7_1.scx時,下面三個對話框出現(xiàn)的先后順序時,下面三個對話框出現(xiàn)的先后順序(1)(2)(3)J注釋:注釋:MessageBoxMessageBoxJ用法:用法:t= MessageBox(t= MessageBox(提示內容提示內容, ,類型類型, ,提示框標題提示框標題) )J“類型設置類型設置J0 0 “確定按鈕確定按鈕J1
37、1 “確定、確定、“取消按鈕取消按鈕J2 2 “放棄、放棄、“重試、重試、“忽略按鈕忽略按鈕J3 3 “是、是、“否、否、“取消按鈕取消按鈕J4 4 “是、是、“否按鈕否按鈕J5 5 “重試、重試、“取消按鈕取消按鈕F16 16 “停頓圖標停頓圖標F32 32 “疑問圖標疑問圖標F48 48 “驚嘆圖標驚嘆圖標F64 64 “信息圖標信息圖標F0 0 焦點在第一個按鈕焦點在第一個按鈕F256 256 焦點在第一個按鈕焦點在第一個按鈕F512 512 焦點在第一個按鈕焦點在第一個按鈕F上面三類可以求和上面三類可以求和3前往值前往值31 1 確定確定32 2 取消取消33 3 放棄放棄34 4 重
38、試重試35 5 忽略忽略36 6 是是37 7 否否48.3.1 8.3.1 表單設計器的啟動表單設計器的啟動4方式方式1 1:單擊:單擊“常用工具欄的常用工具欄的“新建按鈕,在新建按鈕,在“新建對話框中選定新建對話框中選定“表單,再單擊表單,再單擊“新建文新建文件按鈕。件按鈕。4方式方式2 2:在:在“工程管理器中,選擇工程管理器中,選擇“文檔文檔/ /表單表單/ /新建新建/ /新建表單新建表單4方式方式3 3:執(zhí)行:執(zhí)行“文件文件/ /新建新建/ /表單表單/ /新建文件菜單新建文件菜單命令。命令。4方式方式4 4:在命令窗口執(zhí)行:在命令窗口執(zhí)行“CREATE FORM CREATE F
39、ORM 命令。命令。41 1表單設計器工具欄表單設計器工具欄42 2表單控件工具欄表單控件工具欄43 3規(guī)劃工具欄規(guī)劃工具欄44 4屬性窗口屬性窗口45 5代碼編輯窗口代碼編輯窗口41 1表單設計器工具欄表單設計器工具欄設置設置TAB鍵次序鍵次序數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境屬性窗口屬性窗口代碼窗口代碼窗口表單控件工具欄表單控件工具欄調色板工具欄調色板工具欄規(guī)劃工具欄規(guī)劃工具欄表單生成器表單生成器自動格式自動格式42 2表單控件工具欄表單控件工具欄選定按鈕選定按鈕查看類查看類標簽標簽文本框文本框編輯框編輯框命令按鈕命令按鈕命令按鈕組命令按鈕組選項按鈕組選項按鈕組復選框復選框組合框組合框列表框列表框微調控件微
40、調控件表格表格圖像圖像計時器計時器頁框頁框ActiveX控件控件ActiveX綁定控件綁定控件線條線條外形外形容器容器分別器分別器超級鏈接超級鏈接表單生成器表單生成器按鈕鎖定按鈕鎖定3規(guī)劃工具欄規(guī)劃工具欄4屬性窗口屬性窗口5代碼編輯窗口代碼編輯窗口4表單設計器創(chuàng)建與設計表單的步驟表單設計器創(chuàng)建與設計表單的步驟4啟動表單設計器啟動表單設計器4必要時,為表單指定數(shù)據(jù)源必要時,為表單指定數(shù)據(jù)源4添加所需的控件,并對控件進展合理規(guī)劃添加所需的控件,并對控件進展合理規(guī)劃4為表單和各控件設置有關屬性為表單和各控件設置有關屬性4為表單和控件的一些特定事件編寫程序代碼為表單和控件的一些特定事件編寫程序代碼4保
41、管并運轉表單保管并運轉表單O例例8 知定期存款滿半年的月利率為知定期存款滿半年的月利率為0.221%,滿一,滿一年后的月利率為年后的月利率為0.27%,滿兩年后的月利率為,滿兩年后的月利率為0.31%,滿三年的月利率為,滿三年的月利率為0.36%,缺乏半年的月,缺乏半年的月利率為利率為0.123%,設計一表單用于計算本金之和,小,設計一表單用于計算本金之和,小數(shù)點后保管兩位數(shù)點后保管兩位48.4.1 8.4.1 數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境4數(shù)據(jù)環(huán)境泛指創(chuàng)建表單或表單集時所運用的數(shù)數(shù)據(jù)環(huán)境泛指創(chuàng)建表單或表單集時所運用的數(shù)據(jù)源。數(shù)據(jù)環(huán)境也是一個對象,包括與表單或據(jù)源。數(shù)據(jù)環(huán)境也是一個對象,包括與表單或表單集
42、相關的數(shù)據(jù)表、視圖以及表之間的關系表單集相關的數(shù)據(jù)表、視圖以及表之間的關系等。等。41 1啟動數(shù)據(jù)環(huán)境設計器啟動數(shù)據(jù)環(huán)境設計器4方式方式1 1:單擊:單擊“表單設計器工具欄上的表單設計器工具欄上的“數(shù)據(jù)數(shù)據(jù)環(huán)境按鈕環(huán)境按鈕4式式2 2:主菜單:主菜單“顯示顯示/ /“數(shù)據(jù)環(huán)境命令數(shù)據(jù)環(huán)境命令4式式3 3:右擊:右擊“表單設計器窗口,選擇快捷菜單表單設計器窗口,選擇快捷菜單中的中的“數(shù)據(jù)環(huán)境命令數(shù)據(jù)環(huán)境命令42 2向數(shù)據(jù)環(huán)境添加表或視圖向數(shù)據(jù)環(huán)境添加表或視圖4方式方式1 1:主菜單:主菜單“數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境/ /“添加,再在彈添加,再在彈出對話框中添加出對話框中添加4方式方式2 2:右擊:右擊“
43、數(shù)據(jù)環(huán)境設計器,選擇數(shù)據(jù)環(huán)境設計器,選擇“添加添加,再在彈出對話框中添加,再在彈出對話框中添加43 3在數(shù)據(jù)環(huán)境中設置表間關系在數(shù)據(jù)環(huán)境中設置表間關系4設置方法與參照完好性設置方法一樣設置方法與參照完好性設置方法一樣4數(shù)據(jù)綁定是指將表單中的控件與某個數(shù)據(jù)源聯(lián)數(shù)據(jù)綁定是指將表單中的控件與某個數(shù)據(jù)源聯(lián)絡起來絡起來4由控件的由控件的ControlSource屬性來指定與其相聯(lián)屬性來指定與其相聯(lián)絡的數(shù)據(jù)源,實現(xiàn)該控件與數(shù)據(jù)源的數(shù)據(jù)綁定絡的數(shù)據(jù)源,實現(xiàn)該控件與數(shù)據(jù)源的數(shù)據(jù)綁定4與數(shù)據(jù)源及數(shù)據(jù)綁定有關的屬性與數(shù)據(jù)源及數(shù)據(jù)綁定有關的屬性4 屬性屬性 闡明闡明4 ControlSource ControlSo
44、urce 指定與控件綁定的數(shù)據(jù)源指定與控件綁定的數(shù)據(jù)源4 RecordSource RecordSource 指定與表格綁定的數(shù)據(jù)源指定與表格綁定的數(shù)據(jù)源 4 RecordSourceType RecordSourceType 與表格綁定的數(shù)據(jù)類型與表格綁定的數(shù)據(jù)類型4 RowSource RowSource 與組合框或列表框的數(shù)據(jù)與組合框或列表框的數(shù)據(jù)源源4 RowSourceType RowSourceType 與組合或列表框的數(shù)據(jù)類與組合或列表框的數(shù)據(jù)類型型4用戶可從用戶可從“數(shù)據(jù)環(huán)境設計器、數(shù)據(jù)環(huán)境設計器、“工程管理器工程管理器或或“數(shù)據(jù)庫設計器窗口中直接將字段、表或數(shù)據(jù)庫設計器窗口中
45、直接將字段、表或視圖拖入當前的表單,系統(tǒng)將自動產生相應的視圖拖入當前的表單,系統(tǒng)將自動產生相應的控件并自動實現(xiàn)該控件與對應字段的數(shù)據(jù)綁定控件并自動實現(xiàn)該控件與對應字段的數(shù)據(jù)綁定4默許規(guī)那么默許規(guī)那么4 數(shù)值型:文本框數(shù)值型:文本框 表:表: 表格表格4 字符型:文本框字符型:文本框 視圖:視圖: 表格表格4 邏輯型:復選框邏輯型:復選框 通用型:通用型:ActiveXActiveX控控件件4 備注型:編輯框備注型:編輯框4可在可在“選項對話框中的選項對話框中的“字段映射選項卡中字段映射選項卡中進展設置進展設置4例例9 9 用數(shù)據(jù)綁定的方法建立一個表單對用數(shù)據(jù)綁定的方法建立一個表單對zgdazg
46、da表進展維護表進展維護4例例10 10 用數(shù)據(jù)綁定的方法建立一個表單對圖書用數(shù)據(jù)綁定的方法建立一個表單對圖書管理數(shù)據(jù)庫進展維護管理數(shù)據(jù)庫進展維護48.5.1 8.5.1 標簽與命令按鈕標簽與命令按鈕41 1標簽標簽4 標簽標簽LabelLabel是一種能在表單上顯示文本是一種能在表單上顯示文本的控件,常用來顯示提示信息或闡明文字的控件,常用來顯示提示信息或闡明文字4常見屬性常見屬性4 Name Name:缺省為:缺省為Label1Label1,Label2Label2,4 Caption Caption:標題:標題4 AutoSize AutoSize:為:為.T.T.時可以自動調整大小時可
47、以自動調整大小 FontSize FontSize:字體大小:字體大小 FontNameFontName:字體名:字體名 FontBoldFontBold:設置粗體:設置粗體 FontItalicFontItalic:設置斜體:設置斜體 BackStyleBackStyle:設置背景方式:設置背景方式 ForeColorForeColor:設置前風光:設置前風光 BackColorBackColor:設置背風光:設置背風光 AlignmentAlignment:設置文字對齊方式:設置文字對齊方式 WordWrapWordWrap:文天性否可以自動換行:文天性否可以自動換行 Top Top:距上
48、的間隔:距上的間隔 LeftLeft:距左邊的間隔:距左邊的間隔 HeightHeight:高度:高度 WidthWidth:寬度:寬度例例11 11 設計一表單用于顯示當前鼠標的位置設計一表單用于顯示當前鼠標的位置(1)(1)創(chuàng)建表單創(chuàng)建表單Form1Form1 Form1.Width 400 Form1.Width 400 Form1.Height 300 Form1.Height 300 Form1.AutoCenter .t. Form1.AutoCenter .t. Form1.Caption Form1.Caption 標簽設計標簽設計(2)(2)添加標簽添加標簽Label1 La
49、bel1 Label1.Alignment 1 & Label1.Alignment 1 &右靠右靠 Label1.AutoSize .t.Label1.AutoSize .t. Label1.FontName Label1.FontName 黑體黑體 Label1.BackStyle 0 &Label1.BackStyle 0 &透明透明 Label1.FontSize 24Label1.FontSize 24(3)(3)添加其它三個標簽添加其它三個標簽Label2Label2、Label3Label3、Label4Label4 方法:復制方法:復制粘貼粘貼(
50、4)(4)設置設置4 4個標簽的標題個標簽的標題 Label1.Caption X= Label1.Caption X= Label2.Caption 100 Label2.Caption 100 Label3.Caption Y= Label3.Caption Y= Label4.Caption 100 Label4.Caption 100 (5)(5)編寫編寫Form1Form1的的MouseMoveMouseMove事件代碼事件代碼 LPARAMETERS nButton,nShift,nXCoord,nYCoord LPARAMETERS nButton,nShift,nXCoord,
51、nYCoord Thisform.label2.caption=str(nXCoord) Thisform.label2.caption=str(nXCoord) thisform.label4.caption=str(nYCoord) thisform.label4.caption=str(nYCoord)闡明:闡明:nButton:1nButton:1左鍵、左鍵、22右鍵、右鍵、44中鍵中鍵 nShift:1Shift nShift:1Shift、2Ctrl2Ctrl、4Alt 4Alt nXCoord: X nXCoord: X向的坐標,以像素為單位向的坐標,以像素為單位 nYCoord
52、: Y nYCoord: Y向的坐標,以像素為單位向的坐標,以像素為單位4命令按鈕命令按鈕CommandbuttonCommandbutton用于在單擊或按下用于在單擊或按下后完成某個特定的控制操作,其操作代碼通常后完成某個特定的控制操作,其操作代碼通常是為其是為其ClickClick事件編寫的程序代碼事件編寫的程序代碼4常見屬性常見屬性4 Caption: Caption: 標題標題4 Enabled: Enabled: 為為.T.T.時可用形狀時可用形狀4 Default: Default: 為為.T.T.時呼應時呼應EnterEnter鍵鍵4 Picture: Picture: 按鈕嵌入
53、圖片按鈕嵌入圖片4 DisabledPicture: DisabledPicture: 失效時顯示的失效時顯示的BMPBMP文件文件4 Cancel: ESCCancel: ESC鍵呼應鍵呼應ClickClick事件事件4 DownPicture: DownPicture: 按鈕按下時顯示的按鈕按下時顯示的BMPBMP文件文件 Visible: Visible: 可見與否可見與否常用事件常用事件 ClickClick DblClick DblClick常用方法常用方法 SetFocusSetFocusO例例12 12 下面表單三個命令按鈕,其中兩個隱藏,下面表單三個命令按鈕,其中兩個隱藏,經過
54、第一個按鈕激活另兩個,然后經過這個兩按經過第一個按鈕激活另兩個,然后經過這個兩按鈕來挪動和退出表單鈕來挪動和退出表單F(1)(1)創(chuàng)建表單創(chuàng)建表單Form1Form1F Width 400 Width 400F Height 250 Height 250F Windowstate 0 & Windowstate 0 &普通普通F(2)(2)添加三個命令按鈕添加三個命令按鈕: Command1: Command1、Command2Command2、Command3Command3F Command1.visible .f. Command1.visible .f.F Comman
55、d2.visible .f. Command2.visible .f.F(3)(3)設置設置Form1Form1、Command1Command1、Command2Command2、Command3Command3的的CaptionCaption Form1.Caption Form1.Caption 命令按鈕設計命令按鈕設計 Command1.Caption Command1.Caption 退出退出(X)(X) Command2.Caption Command2.Caption 顯示其它按鈕顯示其它按鈕(S)(S) Command3.Caption Command3.Caption 挪動表
56、單挪動表單(M)(F(1)(1)創(chuàng)建表單,并添加一文本框創(chuàng)建表單,并添加一文本框F(2)(2)設置屬性設置屬性F Form1Form1的的Caption: Caption: 文本框設計文本框設計F Text1Text1的的FontSize: 28FontSize: 28F Text1 Text1的的BackStyle: 1BackStyle: 1F(3)(3)編寫代碼編寫代碼F * * *Form1Form1的的LoadLoadF Public flag Public flagF flag=.t. flag=.t. * * *Text1Text1的的ClickClick if flag if
57、flag thisform.text1.value=date() thisform.text1.value=date() thisform.text1.dateformat=12 &YMD thisform.text1.dateformat=12 &YMD thisform.text1.datemark=. & thisform.text1.datemark=. &分隔分隔 flag=.f.flag=.f. else else thisform.text1.value=time() thisform.text1.value=time() flag=.t. fla
58、g=.t. endif endif3常用屬性常用屬性3ControlSource: ControlSource: 編輯框的數(shù)據(jù)源編輯框的數(shù)據(jù)源3NullDisplay: NullNullDisplay: Null的顯示的顯示3ReadOnly: ReadOnly: 能否只讀能否只讀3方法方法3SetFocusSetFocus3RefreshRefresh3事件事件3InteractiveChange: InteractiveChange: 交互式改動時發(fā)生交互式改動時發(fā)生3ProgramicChange: ProgramicChange: 經過賦值語句改動時發(fā)生經過賦值語句改動時發(fā)生O例例14
59、 14 為為zgdazgda設計查找姓名的表單設計查找姓名的表單F(1)(1)創(chuàng)建表單,添加兩個標簽、兩個命令按鈕、創(chuàng)建表單,添加兩個標簽、兩個命令按鈕、一個文本框、一個編輯框一個文本框、一個編輯框F(2)(2)設置屬性值、設計規(guī)劃設置屬性值、設計規(guī)劃F Label1.Caption Label1.Caption 請輸入姓氏請輸入姓氏: :F Label2.Caption Label2.Caption 查找結果查找結果: :F Command1.Caption Command1.Caption 查找查找F Command2.Caption Command2.Caption 退出退出F(3)(3
60、)編寫代碼編寫代碼F * * *Form1Form1的的ActivateActivateF set exact off set exact offF thisform.text1.setfocus thisform.text1.setfocusF * * *command1command1的的ClickClickthisform.edit1.value=thisform.edit1.value=xs=alltrim(thisform.text1.value)xs=alltrim(thisform.text1.value)use zgdause zgdak=0k=0scan for scan for 姓名姓名=xs =xs thisform.edit1.value=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《深度學習項目案例開發(fā)》課件-任務一 使用神經網(wǎng)絡完成服飾圖像分類
- 車間定制管理及安全文明設施采購 投標方案(技術方案)
- 購物中心用地居間合同
- 農業(yè)行業(yè)智能灌溉與農產品追溯系統(tǒng)方案
- 國內經濟環(huán)境現(xiàn)狀分析
- 光伏太陽能發(fā)電技術
- 國際金融投資風險管理方案
- 京山垃圾發(fā)電項目
- 項目技術方案和可行性分析
- 電子商務物流配送效率提升方法研究
- 2025年阜陽幼兒師范高等專科學校單招職業(yè)技能考試題庫學生專用
- 2025年安徽工業(yè)經濟職業(yè)技術學院單招職業(yè)適應性測試題庫附答案
- 2025湖北市政建設集團有限公司管理崗位公開競聘14人筆試參考題庫附帶答案詳解
- 3.13跨學科主題活動-在線學習小能手 課件 川教版(2024)三年級下冊信息科技
- 礦產勘探數(shù)據(jù)分析-深度研究
- 2025年北京控股集團有限公司招聘筆試參考題庫含答案解析
- 2024年07月江蘇銀行招考筆試歷年參考題庫附帶答案詳解
- 小學生藥品安全課件圖片
- 2021年煤礦應急資源調查報告
- 2023中華護理學會團體標準-注射相關感染預防與控制
- 高層住宅采暖施工方案有地暖
評論
0/150
提交評論