第十五講面向?qū)ο蟪绦蛟O(shè)計表單設(shè)計-數(shù)據(jù)庫原理及應(yīng)用VISUAL-FOXPRO教案()_第1頁
第十五講面向?qū)ο蟪绦蛟O(shè)計表單設(shè)計-數(shù)據(jù)庫原理及應(yīng)用VISUAL-FOXPRO教案()_第2頁
第十五講面向?qū)ο蟪绦蛟O(shè)計表單設(shè)計-數(shù)據(jù)庫原理及應(yīng)用VISUAL-FOXPRO教案()_第3頁
第十五講面向?qū)ο蟪绦蛟O(shè)計表單設(shè)計-數(shù)據(jù)庫原理及應(yīng)用VISUAL-FOXPRO教案()_第4頁
第十五講面向?qū)ο蟪绦蛟O(shè)計表單設(shè)計-數(shù)據(jù)庫原理及應(yīng)用VISUAL-FOXPRO教案()_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

面向?qū)ο蟪绦蛟O(shè)計OOP(Object-orientedProgramming)不同于面向過程程序設(shè)計,OOP可以利用對象“組裝”程序,每個對象中的代碼對許多編程人員來說是透明的。代碼更精練和較好的復(fù)用性(如窗口、按鈕等對象)。程序的構(gòu)造更為簡單,編程效率較高?;拘g(shù)語

1.對象(1)對象對象(Object)是反映客觀事物屬性及行為特征的描述。每個對象都具有描述它的特征的屬性,及附屬于它的行為。在程序設(shè)計中,對象是私有數(shù)據(jù)和對這些數(shù)據(jù)進行處理的操作(方法程序)相結(jié)合的程序單元(實體)。在VisualFoxPro應(yīng)用程序中,窗口、命令按鈕等可以被看成是對象?;拘g(shù)語

(2)對象的屬性(Property)

屬性定義了對象所具有的數(shù)據(jù),它是對象所有特征數(shù)據(jù)的集合。對象的每一種屬性,都是與其它對象加以區(qū)別的特性,都具有一定的含義,并賦予一定的值。屬性值可以在設(shè)計階段設(shè)置,也可以在運行階段更改。如,具有以下屬性和行為特征:

.命令按鈕在窗口的位置;

.命令按鈕的標(biāo)題及命令按鈕的大??;

.按動命令按鈕進行什么操作。基本術(shù)語

(3)方法程序(Method)

方法程序是指對象為實現(xiàn)一定功能而編寫的代碼。方法是附屬于對象的行為和動作。(4)事件(Event)

事件是每個對象可能用以識別和響應(yīng)的某些行為和動作。事件可以由系統(tǒng)引發(fā),比如生成對象時,系統(tǒng)就引發(fā)一個Init事件,對象識別該事件,并執(zhí)行相應(yīng)的Init事件代碼;事件也可以由用戶引發(fā),如,單擊鼠標(biāo)就發(fā)生了一個“click”

事件,命令按鈕識別該事件并執(zhí)行相應(yīng)的click事件代碼。在VisualFoxPro系統(tǒng)中,對象可以響應(yīng)50多種事件。多數(shù)情況下,事件是通過用戶的操作行為引發(fā)的,當(dāng)事件發(fā)生時,將執(zhí)行包含在事件過程中的全部代碼。(5)類(class)

類是具有共同屬性、共同操作性質(zhì)的對象的集合。VFP中的類和對象1、類與對象在VisualFoxPro系統(tǒng)中,類就像是一個模板,對象都是由類生成的,類定義了對象所有的屬性、事件和方法,從而決定了對象的屬性和它的行為。對象是類的實例。

2、基類(baseclass)

基類是VFP預(yù)先定義的類?;愑挚梢苑殖扇萜黝惡涂丶?。容器類(Containers)可以容納其它對象,并允許訪問所包含的對象。如表單,自身是一個對象,它又可以把按鈕、編輯框、文本框等放在表單中。P60表2-7列出了基類中主要的容器類。VFP中的類和對象

控件類不能容納其它對象,它沒有容器類靈活。如文本控件自身是一個對象,在文本控件中不可放其它對象。由控件類創(chuàng)造的對象,是不能單獨使用和修改的,它只能做為容器類中的一個元素,通過由容器類創(chuàng)造的對象修改或使用。P60表2-8列出了常用的控件類。

3、子類(subclass)

以某個類的定義為起點創(chuàng)建的新類稱為子類,前者成為父類。子類將繼承父類的全部特征,包括對父類所做的任何修改。類的特征類具有封裝性和繼承性等特性。封裝性(Encapsulation)是指類的內(nèi)部信息對用戶是隱蔽的。由于類具有封裝性,因此不必被類的概念或類的抽象所困擾。在使用類時,用戶不需熟悉對象內(nèi)部的復(fù)雜性,只需掌握類的使用方法,使應(yīng)用程序的可用性大大提高了。類的特征繼承性(Inheritance)指通過繼承關(guān)系利用已有的類構(gòu)造新類。有了類的繼承,用戶在編寫程序時,可以把具有普遍意義的類通過繼承引用到程序中,從而減少代碼的編寫工作。方法屬性繼承的方法、屬性添加的方法、屬性對象的操作對象屬性的設(shè)置通過屬性窗口在程序中設(shè)置屬性的一般格式:表單名.對象名.屬性名=屬性值常見的屬性有標(biāo)題(Caption),名稱(Name),背景色(Backcolor),字體大小(Fontsize),是否可見(Visible)等。對象的關(guān)鍵字THISFORMSET表示當(dāng)前表單集THISFORM表示當(dāng)前表單THIS表示當(dāng)前對象對象引用格式引用關(guān)鍵字.被引用對象|對象的屬性|事件|方法程序?qū)ο蟮牟僮鲗ο蟮氖录螕?click),雙擊(Dblclick),裝入(load),移動鼠標(biāo)(Mousemove),右擊(Rightclick),用鼠標(biāo)或鍵盤交互改變控件值(InteractiveChange)事件過程事件被觸發(fā)后,響應(yīng)該事件后所執(zhí)行的程序代碼為事件過程對象的方法用于完成某種特定的功能,被封裝在不同的對象中。常用的表單方法:Release:將表單從內(nèi)存中釋放Refresh:刷新表單Show:顯示表單Hide:隱藏表單Setfocus:讓對象獲得焦點,使其成為活動對象。對象的操作對象的引用實例THISFORMSET.Form1.Cmd1.Caption=“關(guān)閉”將本表單集的名為From1的表單中的Comd1對象的標(biāo)題(Caption)屬性設(shè)為“關(guān)閉”THISFORM.Cmd1.Caption=“關(guān)閉”將本表單的名為Comd1對象的標(biāo)題(Caption)屬性設(shè)為“關(guān)閉”THIS.Caption=“關(guān)閉”將當(dāng)前對象的標(biāo)題(Caption)屬性設(shè)為“關(guān)閉”THIS.Parent.BackColor=RGB(192,0,0)將本對象的父對象的背景色設(shè)置為紅色。THISFORM.Refresh刷新當(dāng)前表單第五章表單設(shè)計

表單(Form)是應(yīng)用程序的重要組成部分,是真正面向?qū)ο蟮木幊坦ぞ摺1韱卧O(shè)計充分體現(xiàn)了VFP面向?qū)ο蟪绦蛟O(shè)計的風(fēng)格和可視化設(shè)計的精髓所在。表單在系統(tǒng)中是用戶的主要界面,也有人把它稱為屏幕(Screen)或窗口。但它不是一個普通的窗口,因為其中的控件可以有屬性、事件和方法,并且表單和表單集本身也是有屬性、事件和方法的編程對象。

在VisualFoxPro系統(tǒng)中,表單擁有多個屬性,可以響應(yīng)多種事件、實現(xiàn)多種方法操作。在面向?qū)ο蟮某绦蛟O(shè)計中,兩個最基本的可視對象類型是容器和控件。表單就是一個容器,它可以容納多個控件。表單及其控件對象圖示表單編輯框標(biāo)簽文本框列表框圖像檢查框單選鈕命令按鈕組5.1表單操作基礎(chǔ)生成表單的方法:使用表單向?qū)褂帽韱卧O(shè)計器創(chuàng)建新表單或修改已有表單使用“快速”表單功能,生成一個簡單的表單用createform<表單>.SCX命令保存表單方法(表單文件擴展名為.SCX):文件/保存

CTRL+W關(guān)閉表單設(shè)計器窗口時保存

運行表單的方法:單擊表單設(shè)計器工具欄或項目管理器的“運行”按鈕使用命令:DOFORM<表單文件名>在未關(guān)閉的表單窗口空白處右擊,選擇快捷菜單中的“運行”命令一、單表單向?qū)У幕静襟E如下:[例]為學(xué)生表創(chuàng)建一個表單“學(xué)生1.SCX”。1.選擇“文件”下拉菜單的“新建”命令,彈出“新建”對話框。2.在“新建”對話框中,選擇“表單”為有效,并單擊“向?qū)А卑粹o,彈出向?qū)нx取對話框。

5.2表單向?qū)?.在向?qū)нx取對話框中,選取“表單向?qū)А保瑔螕簟按_定”按鈕,彈出表單向?qū)У牡谝徊綄υ捒?4.在步驟1表單向?qū)υ捒蛑?,首先指定用于?chuàng)建表單控制的表或數(shù)據(jù)庫,然后選擇在表單中用到的字段,單擊“下一步”按鈕,彈出表單向?qū)У牡诙綄υ捒颉?.在步驟2表單向?qū)υ捒蛑?,選擇表單樣式和按鈕類型,單擊“下一步”按鈕,彈出表單向?qū)У牡谌綄υ捒颉?.在步驟3表單向?qū)υ捒蛑?,選擇用于排序的字段(最多為三個字段),然后指定排序的方式(升序或降序),單擊“下一步”按鈕,彈出表單向?qū)У牡谒牟綄υ捒颉?/p>

7.在步驟4表單向?qū)υ捒蛑?,輸入表單的?biāo)題,然后選擇保存表單的方式,建議選擇“保存表單并用表單設(shè)計器修改表單”,在保存前可以用“預(yù)覽”按鈕查看表單運行的效果,最后單擊完成彈出一保存對話框,用于選擇表單的存放路徑和輸入表單的文件名。退出表單:點擊退出表單按紐重新打開表單:文件/打開/表單

MODIFYFORM<表單>.SCX運行表單:表單/執(zhí)行表單

DOFORM<表單>.SCX二、為多個表創(chuàng)建表單向?qū)Вㄒ粚Χ啾韱蜗驅(qū)В┮粚Χ啾韱蜗驅(qū)菍τ泄沧侄蔚亩鄠€表(至少是兩個)進行操作,從多個表中選取部分字段進行顯示。[例]建立同時操作學(xué)生表和學(xué)生選課表這2張表的表單其基本步驟如下:1.選擇“文件”下拉菜單的“新建”命令,彈出新建對話框。2.在“新建”對話框中,選擇“表單”為有效,并單擊“表單向?qū)А卑粹o,彈出向?qū)нx取對話框。3.在向?qū)нx取對話框中,選取“一對多表單”,并單擊確定按鈕,彈出表單向?qū)У牡谝徊綄υ捒颉?.在步驟1一對多表單向?qū)υ捒蛑?,首先指定一對多表單的父表,然后選擇在表單中用到的字段,單擊“下一步”按鈕,彈出表單向?qū)У牡诙綄υ捒颉?/p>

5.在步驟2一對多表單向?qū)υ捒蛑?,首先指定一對多表單的子表,然后選擇在表單中用到的字段,單擊“下一步”按鈕,彈出表單向?qū)У牡谌綄υ捒颉?.在步驟3一對多表單向?qū)υ捒蛑?,為父表和子表指定關(guān)系(指定公共字段),單擊“下一步”按鈕,彈出表單向?qū)У牡谒牟綄υ捒颉?.在步驟4表單向?qū)υ捒蛑校x擇表單樣式和按鈕類型,單擊“下一步”按鈕,彈出表單向?qū)У牡谖宀綄υ捒颉?.在步驟5表單向?qū)υ捒蛑校x擇用于排序的字段(最多為三個字段),然后指定排序的方式(升序或降序),單擊“下一步”按鈕,彈出表單向?qū)У牡诹綄υ捒颉?.在步驟6表單向?qū)υ捒蛑?,輸入表單的名字,然后選擇保存表單的方式,建議選擇“保存表單并修改于表單設(shè)計器中”,在保存前可以用“預(yù)覽”按鈕查看表單運行的效果,最后單擊完成。5.3表單設(shè)計器

VFP除了用表單向?qū)?chuàng)建新表單外,還可通過表單設(shè)計器來創(chuàng)建新表單。啟動表單設(shè)計器通常有三種方式:在項目管理器中,選擇“表單”后,再選擇“新建”;從“文件”下拉菜單中選擇“新建…”后,選擇“表單”為有效,單擊“新建文件”按鈕;在命令窗口中鍵入命令:CREATFORM<文件名>|?。(其中使用?將彈出一對話框用于選擇表單存放的路徑和表單的文件名

)啟動后的表單設(shè)計器的初始界面:一、設(shè)置與表單有關(guān)的工具

在“顯示”下拉菜單下選擇“工具欄…”

常用表單控件

標(biāo)簽編輯框命令組復(fù)選框列表框表格計時器OLE容器控件線條容器超級鏈接選定對象查看類文本框命令按鈕選項組組合框微調(diào)圖像頁框OLE綁定控件形狀生成器鎖定分隔符按鈕鎖定二、設(shè)置表單的數(shù)據(jù)環(huán)境

數(shù)據(jù)環(huán)境的設(shè)置是通過數(shù)據(jù)環(huán)境設(shè)計器來實現(xiàn)的,打開表單的數(shù)據(jù)環(huán)境設(shè)計器可以采用以下步驟:在表單上單擊鼠標(biāo)左鍵,激活該表單,然后單擊鼠標(biāo)右鍵,系統(tǒng)將彈出快捷菜單;在彈出的快捷菜單中選擇“數(shù)據(jù)環(huán)境”選項,單擊鼠標(biāo)左鍵,彈出數(shù)據(jù)環(huán)境設(shè)計器,在“數(shù)據(jù)環(huán)境菜單”中選擇“添加”,系統(tǒng)將彈出一打開對話框用來選擇要添加的表或視圖三、在表單中添加字段將數(shù)據(jù)環(huán)境中的字段直接拖到表單中。四、調(diào)整控件的位置(1)選定單個控件:單擊(2)選定多個:按下Shift+單擊(3)取消:Shift+單擊該對象(4)移動控件(5)改變控件大小(6)刪除對象:編輯/清除或DEL鍵(7)復(fù)制對象:編輯/復(fù)制/粘貼

五、其它功能在表單上顯示網(wǎng)格線:顯示/網(wǎng)格線鼠標(biāo)操作時使控件對齊格線:格式/對齊格線控件布局格式化:使選定的控件居中、對齊等。調(diào)整Tab鍵次序:工具/選項/“表單”選項卡/“Tab鍵次序”組合框中選定“交互”或“按列表”/顯示/按Tab鍵次序六、在表單中添加對象1.引用包容對象在VFP,由于容器對象的存在,對象可以嵌套。2.設(shè)置屬性值格式如下:Parent.Object.Property=Value.3.調(diào)用方法格式如下:Parent.Object.Method例:用不同的方法向表單中添加“學(xué)號”和“姓名”字段將“學(xué)生”表添加到數(shù)據(jù)環(huán)境中,單擊“表單控件”工具欄上“文本框”按鈕,在表單合適位置單擊建立名為“Text1”的文本框?qū)ο?,在屬性窗口“?shù)據(jù)”選項卡選取“ControlSource”,單擊屬性設(shè)置框右邊的下箭頭,選擇“學(xué)生.學(xué)號”。在Text1對象前建立名為“Lbel1”的標(biāo)簽對象,在屬性窗口修改它的“Caption”屬性為“學(xué)號”。在數(shù)據(jù)環(huán)境設(shè)計器窗口將“姓名”字段左拖到表單上Text1對象的下方(設(shè)置對象自動與字段關(guān)聯(lián))。運行表單§5.4表單控件使用

表單控件是表單設(shè)計的基礎(chǔ),一個表單通常是由多個表單控件組成的。本節(jié)將介紹表單控件的常用屬性。標(biāo)簽(Label):是一圖形控件,用于顯示文本信息。屬性功能默認(rèn)值備注Autosize根據(jù)內(nèi)容是否自動調(diào)節(jié)大小.F.

Caption在標(biāo)簽上顯示的內(nèi)容Label1

BackColor標(biāo)簽的背景顏色192,192,192(在Backstyle=2時不起作用)ForColor標(biāo)簽內(nèi)容的顏色0,0,0

Left標(biāo)簽距離表單左邊框的長度

與定時器配合,控制Left或Top能產(chǎn)生動態(tài)效果Top標(biāo)簽距離表單上邊框的長度

Visable標(biāo)簽在運行時是否可見.t.

Name引用該對象時所用的名稱Label1

BackStyle指定標(biāo)簽的背景是否透明1-不透明

Fontname標(biāo)簽內(nèi)容字體的名字Arial

FontSize標(biāo)簽內(nèi)容字體的大小9

例:在表單上創(chuàng)建一個標(biāo)簽,如下圖所示。步驟:打開表單設(shè)計器,創(chuàng)建一個“標(biāo)簽”Label1和“命令按鈕”command1。在屬性窗口修改Label1的屬性如下:

Caption:歡迎使用VisualFoxpro6.0FontName:隸書

FontSize:28WordWrap(折行):.T.

AutoSize(自動大?。?T.在屬性窗口修改Command1的屬性如下:

Caption:關(guān)閉編寫Command1的Click事件代碼雙擊Command1按鈕,打開事件代碼窗口,寫完程序語句后關(guān)閉。運行表單。文本框(TextBox)

文本框用于顯示和編輯一個變量或字段的值。一、文本框常用屬性屬性功能控制源(ControlSource)指定與對象(變量或數(shù)據(jù)庫字段)綁定的數(shù)據(jù)源值(Value)文本框的值,并在框中顯示設(shè)置焦點(SetFocus)將焦點放在控件上二、文本框生成器使用文本框生成器可以非常方便的為控件設(shè)置常用的的屬性。打開生成器方法:鼠標(biāo)指向?qū)ο笥覔?,從彈出的快捷菜單中選定生成器命令生成器只能設(shè)置一些常用屬性,并不是所有對象都有生成器。格式選項卡:主要供用戶設(shè)定文本框的各種格式,以及輸入掩碼的類型。文本框是否可用,Enabled選定時,框中值只能由字母組成,相當(dāng)Format值為A,只用于字符型數(shù)據(jù)。運行表單時,框中內(nèi)容無法修改,Readonly。當(dāng)框中獲得焦點,框中數(shù)據(jù)將被選定,相當(dāng)Format值為K。當(dāng)失去焦點時,框中數(shù)據(jù)是否保持選中狀態(tài)。只用于數(shù)值型數(shù)據(jù),選定時,顯示小數(shù)點左邊零。相當(dāng)InputMask樣式選項卡:主要用于設(shè)置文本框的外觀、邊框和字符的對齊方式。相當(dāng)SpecialEffect值為3D相當(dāng)BorderStyle值為1相當(dāng)Alignment的值為3值選項卡相當(dāng)ControlSource編輯框(EditBox)功能:為用戶提供一個文本編輯器,主要用來處理備注類型字段。屬性功能默認(rèn)值控制源(ControlSource)指定與對象綁定的數(shù)據(jù)源滾動條(ScrollBars)為用戶設(shè)置滾動條2例:創(chuàng)建一個文本框用來接收用戶輸入口令,并檢查用戶輸入口令與預(yù)設(shè)口令“12345”是否一致。步驟:打開表單設(shè)計器,創(chuàng)建一個表單,在表單中建一個文本框Text1和兩個標(biāo)簽Label1、Label2,一個命令按鈕Command1設(shè)置對象屬性:

Label1caption:請輸入口令fontname:黑體

fontsize:14autosize:.t.Fontbold:.t.

Label2caption:(空)fontname:楷體autosize:.t.

Fontsize:20fontbold:.t.

Text1passwordchar:*

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論