《PowerBuilder-程序設(shè)計(jì)基礎(chǔ)》第4章窗口設(shè)計(jì)_第1頁
《PowerBuilder-程序設(shè)計(jì)基礎(chǔ)》第4章窗口設(shè)計(jì)_第2頁
《PowerBuilder-程序設(shè)計(jì)基礎(chǔ)》第4章窗口設(shè)計(jì)_第3頁
《PowerBuilder-程序設(shè)計(jì)基礎(chǔ)》第4章窗口設(shè)計(jì)_第4頁
《PowerBuilder-程序設(shè)計(jì)基礎(chǔ)》第4章窗口設(shè)計(jì)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、PowerBuilder 程序設(shè)計(jì)基礎(chǔ)李 茜 主編謝維成 陳永強(qiáng) 曾傳華 第四章 窗口設(shè)計(jì)1 窗口(Window)是程序和用戶進(jìn)行交互的主要界面,類似于VB或Delphi的Form(窗體),在窗口上可以布置各種不同類型的控件以滿足程序的要求,各控件間相互協(xié)作,完成預(yù)定功能。2 一個(gè)窗口可以只被打開一次或者作為一個(gè)實(shí)例變量而被創(chuàng)建(實(shí)例化)然后打開多次。3 任何窗口的最底層基類都是windows,可以逐級(jí)繼承,對(duì)于節(jié)省代碼開支,界面一致性等非常有好處。4 數(shù)據(jù)窗口作為標(biāo)準(zhǔn)控件可以直接嵌入到窗口中使用。窗口 - 1.創(chuàng)建方法有2種方式創(chuàng)建一個(gè)窗口:1.新建: 從菜單中選擇“文件/新建”,彈出新建向

2、導(dǎo),選擇“對(duì)象-Windows”,系統(tǒng)就自動(dòng)創(chuàng)建一個(gè)標(biāo)題為 Untitled 的空窗口,沒有任何腳本,但可以被打開。2.繼承:菜單中選擇“繼承”,彈出可被繼承的祖先清單,選擇一個(gè),系統(tǒng)自動(dòng)從該祖先窗口繼承,新窗口擁有祖先窗口的所有特性及腳本,并可以重載及覆蓋這些屬性或腳本。創(chuàng)建并修改完成,按Ctrl+S或“文件/保存”,輸入窗口名稱并制定放在那個(gè)PBL中,該窗口就可以被調(diào)用了。注意點(diǎn): 基于繼承的窗口,一旦祖先的屬性修改,則該窗口中沒有被重載或覆蓋的部分即自動(dòng)修改,實(shí)際上該窗口分為2部分:祖先和自己。在設(shè)計(jì)統(tǒng)一界面的用戶窗口時(shí),繼承窗口是非常好的選擇。窗口 - 2.基本屬性屬性名稱含義標(biāo)題(T

3、itle):定義該窗口的標(biāo)題欄;類型(Window Type)定義該窗口的類型:Main! - 主窗口,常用方式Popup - 彈出式窗口,用來為其它窗口提供支持信息Child! 由父窗口打開,并且只能在父窗口范圍內(nèi)存在Response! -用于輸入信息,模式窗口MDI!,MDIhelp! - 多文檔窗口菜單(MenuName)對(duì)Main,MDI,mdihelp類型的窗口有效,設(shè)置該窗口的菜單名稱外觀屬性外觀:enabled,visible,titlebar,maxbox,minbox,resizeable,border,backcolor,mdiclientcolor,HscrollBar,

4、VScrollBar等等位置:x,y,width,height,pointer菜單: toolbarvisible,toolbaralignment,toolbarx,toolbarY,toolbarWidth,ToolbarHeight運(yùn)行態(tài)屬性(只讀,描述性質(zhì))Control,menuid運(yùn)行態(tài)屬性bringtotop窗口 - 3.常用類型11主窗口(Main Window) 主窗口是獨(dú)立的窗口,它不依賴于其它任何窗口而獨(dú)立存在,這種類型的窗口既能夠覆蓋其它窗口,也能夠被其它窗口覆蓋。主窗口可以帶有菜單,能夠被最大化、最小化、或改變大小。主窗口一般用作應(yīng)用程序運(yùn)行具體功能界面的基礎(chǔ)。 2子

5、窗口(Child Window) 正如其名字所暗示的那樣,子窗口從屬于另一個(gè)窗口,它總是在主窗口或彈出式窗口中打開,該窗口成為子窗口的父窗口。子窗口可以在父窗口內(nèi)部移動(dòng),但不能移出父窗口。移動(dòng)父窗口時(shí),子窗口隨之移動(dòng),關(guān)閉父窗口時(shí),子窗口也隨之被關(guān)閉。子窗口可以有標(biāo)題條,可以被最大化、最小化及改變大小,但它沒有菜單,也不能被當(dāng)作活動(dòng)窗口。子窗口在最大化時(shí),它充滿父窗口的工作區(qū);子窗口在最小化時(shí),它縮小成圖標(biāo)顯示在父窗口的底部。 3響應(yīng)窗口(Response Window) 響應(yīng)窗口向用戶請(qǐng)求信息,它總是在另一個(gè)窗口(父窗口)中打開。響應(yīng)窗口被顯示時(shí),用戶必須關(guān)閉了該窗口后才能操作同一個(gè)應(yīng)用程序

6、的其它窗口。響應(yīng)窗口不能被最大化、最小化,但可以帶有控制菜單。應(yīng)用程序中經(jīng)常使用的About(關(guān)于)窗口、MessageBox對(duì)話框都是響應(yīng)窗口應(yīng)用的具體實(shí)例。 4彈出式窗口(Popup Window) 彈出式窗口通常由另一個(gè)窗口打開,該窗口一般情況下成為彈出式窗口的父窗口。彈出式窗口顯示在父窗口前面,它既可以移出父窗口,也能夠覆蓋父窗口,但不能被父窗口覆蓋,當(dāng)父窗口最小化時(shí),彈出式窗口隨之隱藏,父窗口被關(guān)閉時(shí),彈出式窗口也隨之關(guān)閉。根據(jù)需要,也可以把彈出式窗口設(shè)計(jì)成帶有菜單、能夠被最大化、最小化、或可改變大小的形式。彈出式窗口用途廣泛,它可以顯示文字信息,也可以作成圖形化的進(jìn)度提示窗口,還能

7、夠用于輸入用戶的選擇。 5MDI框架窗口和帶微幫助的MDI框架窗口 MDI框架窗口及其子窗口構(gòu)成了應(yīng)用程序的多文檔界面風(fēng)格,它有兩種形式:普通的MDI框架窗口和帶微幫助的MDI框架窗口,兩者的區(qū)別在于,后一種框架窗口在底部多了個(gè)狀態(tài)欄,用于顯示應(yīng)用程序簡(jiǎn)短的當(dāng)前信息,我們將其稱做微幫助(Microhelp)。典型的MDI框架窗口由標(biāo)題、菜單、工具欄、客戶區(qū)、狀態(tài)欄組成。 窗口 - 3.常用類型2主窗口子窗口響應(yīng)窗口帶微幫助的MDI框架窗口 窗口 - 4.常用事件事件名稱事件含義及用途Open當(dāng)該窗口被用open()函數(shù)打開時(shí)觸發(fā)該事件,一般作為該窗口進(jìn)行初始化處理的入口Close當(dāng)該窗口被關(guān)閉

8、后消失前觸發(fā),可能被close()函數(shù)關(guān)閉,也可能是系統(tǒng)級(jí)關(guān)閉操作,一般用于收尾處理Resize當(dāng)該窗口的大小調(diào)整時(shí)觸發(fā),一般用于調(diào)整界面控件的相對(duì)位置CloseQuery后于Close事件觸發(fā),當(dāng)該窗口準(zhǔn)備關(guān)閉前觸發(fā),可以替代close事件,并可以決定是否可以關(guān)閉Timer由窗口函數(shù)Timer()觸發(fā),到達(dá)指定秒數(shù)后觸發(fā)該事件,一般用于控制。Activate當(dāng)窗口被激活前觸發(fā),觸發(fā)后焦點(diǎn)自動(dòng)移到該窗口的第一個(gè)制表站或上次的制表站,如果沒有任何可編輯對(duì)象,則該窗口獲得焦點(diǎn)。Deactivate當(dāng)該窗口變?yōu)榉羌せ顮顟B(tài)前觸發(fā)鼠標(biāo)事件Clicked,doubleclicked,mousedown,m

9、ousemove,mouseup,rbuttondown拖放事件Dragdrop,dragwithin,dragenter,dragleave鍵盤Key,systemkey其他DDE控制,Other,show,hide, ToolbarMoved,Help窗口 - 5.常用函數(shù)函數(shù)名稱函數(shù)含義及用途Open(),openSheet()系統(tǒng)級(jí)函數(shù),用于打開某特定窗口,變參調(diào)用Close()系統(tǒng)級(jí)函數(shù),用戶關(guān)閉某窗口,變參調(diào)用PostEvent在當(dāng)前腳本執(zhí)行完畢后觸發(fā)某事件(后續(xù)某動(dòng)作),變參TriggerEvent立刻觸發(fā)某事件(嵌入某動(dòng)作),變參Parentwindow()系統(tǒng)級(jí)函數(shù),取該窗口

10、或某對(duì)象的父窗口Classname()指定窗口或?qū)ο蟮念惷Q)Typeof()返回當(dāng)前對(duì)象的類型(powerobjet)Timer(seconds)開始計(jì)時(shí),如Timer(5,this)表示本窗口在5秒后觸發(fā)Timer事件,變參ArrangeSheets()如果是MDI框架窗口,則按指定方式排列所有文檔窗口Hide(),show()隱藏,顯示,setredraw(false)大小及位置Move(x,y),resize(w,h),workspacewidth(),workspaceheight(),workspacex(),workspacey(),setposition菜單Settoolb

11、arpos(),settoolbar(),changemenu()鼠標(biāo)Pointerx(),pointery()其他DDE控制系列函數(shù)窗口 - 6.窗口控件1CommandButton命令按鈕(cb_ok,cb_cancel)18HScrollBar水平滾動(dòng)條2PictureButton圖形按鈕(pb_ok,pb_cancel)19VScrollBar垂直滾動(dòng)條3CheckBox檢查框(cbx_choice_1)20HTrackBar 水平導(dǎo)軌4RadioButton收音機(jī)按鈕(單選按鈕)(rb_tes)21VTrackBar 垂直導(dǎo)軌5StaticText靜態(tài)文本(st_notice)22H

12、ProgressBar 水平進(jìn)度條6StaticHyperLink文本超級(jí)連接(shl_1)23VProgressBar 垂直進(jìn)度條7Picture圖形(p_1)24DropDownListBox下拉列表框(ddlb_)8PictureHyperLink圖形超級(jí)連接(phl_1)25DropDownPictureListBox下拉圖形列表框(ddplb_)9GroupBox分組框26ListBox列表框(lb_)10Line線條27PictureListBox圖形列表框11Oval橢圓28ListView列表視圖12Rectangle矩形29TreeView樹13RoundRectangle圓

13、角矩形30Tab標(biāo)簽14SingleLineEdit單行編輯(sle_test)31DataWindow數(shù)據(jù)窗15EditMask掩碼編輯(em_year)32Graph圖表16MultiLineEdit多行編輯33OLEOLE2對(duì)象17RichTextEdit富文本編輯34UserObject用戶自定義控件(對(duì)象)窗口 - 7. 控件操作1添加控件 1、通過菜單 2、通過工具欄窗口 - 7. 控件操作2選擇控件 1、點(diǎn)選法 2、框選法提示:在選中了一些控件后,如果需要向中間添加其他控件或從中間減少部分控件,可借助【Ctrl】鍵完成。 窗口 - 7. 控件操作3復(fù)制控件 1、使用菜單Edit/

14、Duplicate命令 2、使用Copy和Paste命令3、使用Ctrl+T快捷方式1、使用Edit/Delete命令2、直接按【Del】鍵 刪除控件 窗口 - 7. 控件操作4布局控件 1、移動(dòng)控件2、調(diào)整大小3、對(duì)齊控件對(duì)齊控件位置對(duì)齊控件間隔對(duì)齊控件大小窗口 - 7. 控件操作5設(shè)置【Tab】鍵次序 1、從“Design”菜單中選擇“Tab Order”命令,或者單擊窗口畫筆快捷工具欄上的(Tab Order)圖標(biāo),系統(tǒng)進(jìn)入Tab編輯模式。 2、通過鼠標(biāo)單擊或按Tab鍵,將輸入焦點(diǎn)移動(dòng)到要修改的“Tab”值處。 3、輸入新的“Tab”值,其取值范圍為0到999。 窗口 - 8. 控件的公

15、用屬性每個(gè)控件都有的屬性如下:Name: 在窗口中唯一標(biāo)記該控件的有效字符串Enabled :使某控件失效或使能,失效后用戶無法操作,但是可以手工觸發(fā)它的事件Visible:可視與否Foreground Color:前景色(按鈕無效)BackgroundColor:背景色Tag:與系統(tǒng)無任何關(guān)系的一個(gè)公用屬性,可以做任何事情Border:邊框類型,枚舉值,有些控件指定了也無效是無效的。位置:在父對(duì)象中的定位(如x,y,width,height,x1,y1,x2,y2等,但屬性名稱不一致)關(guān)于顏色的算法:長(zhǎng)整型(long) ,rgb顏色系統(tǒng)顏色值 = rgb(red,blue,green) =

16、green * 65536 + blue * 256 + red如 紅色( 255) = rgb(255,0,0) = 0 * 65536 + 0 * 256 + 255可以從下拉工具條中直接選取常用顏色及系統(tǒng)顏色窗口 - 9. 使用按鈕控件 按鈕是Windows應(yīng)用程序中最常用的控件之一,主要用于接收用戶的操作,以完成程序指定的功能。PowerBuilder中將按鈕分為“命令按鈕”和“圖形按鈕”。兩種按鈕除了在外觀上有所不同外,在功能上是完全一樣的。設(shè)計(jì)時(shí),用戶使用哪種按鈕主要取決個(gè)人習(xí)慣,或者程序整體界面風(fēng)格的要求。按鈕控件最常用的事件是:“Clicked”事件。 操作示例窗口 - 9.

17、使用編輯控件操作示例 編輯控件主要用于數(shù)據(jù)的輸入和編輯,也屬于Windows應(yīng)用程序的常用控件。PowerBuilder提供了五種編輯控件,分別是單行編輯框、多行編輯框、超文本編輯框、編輯掩碼控件以及數(shù)據(jù)窗口控件。當(dāng)用戶的數(shù)據(jù)文本較少時(shí)一般使用單行編輯框;而數(shù)據(jù)文本相對(duì)較多時(shí)可以使用多行編輯框;當(dāng)數(shù)據(jù)文本較多而且要求以各種形式顯示時(shí)可以使用超文本編輯框;如果數(shù)據(jù)文本需要按特定的格式輸入時(shí)可使用編輯掩碼控件;如果用戶數(shù)據(jù)需要以表格的形式進(jìn)行輸入和編輯時(shí)可以使用數(shù)據(jù)窗口控件。 窗口 - 9. 使用顯示輸出控件 顯示輸出控件用于顯示輸出文本、統(tǒng)計(jì)圖、圖像。這類控件包括:靜態(tài)文本控件、圖片框控件、靜態(tài)

18、文本鏈接控件、圖片鏈接控件、分組框、統(tǒng)計(jì)圖控件、用戶對(duì)象、OLE控件等。靜態(tài)文本控件主要用于顯示一些提示信息;圖片框控件主要顯示圖片文件;靜態(tài)文本鏈接控件和圖片鏈接控件可以實(shí)現(xiàn)對(duì)網(wǎng)頁的鏈接;分組框控件主要用于將相關(guān)的控件分組顯示;統(tǒng)計(jì)圖控件主要用于以圖形方式顯示數(shù)據(jù)的統(tǒng)計(jì)結(jié)果;用戶對(duì)象控件用于在窗口上表現(xiàn)可視用戶對(duì)象(用戶對(duì)象使用用戶對(duì)象畫筆創(chuàng)建,并保存在PowerBuilder應(yīng)用庫中。通過用戶對(duì)象與用戶對(duì)象控件的結(jié)合,你可以進(jìn)一步豐富應(yīng)用程序界面以及應(yīng)用程序功能);OLE控件主要用于在應(yīng)用程序中集成其它一些支持OLE標(biāo)準(zhǔn)的控件或者應(yīng)用程序。其中靜態(tài)文本控件、圖片框控件、鏈接控件和分組框是Windows應(yīng)用程序的常用控件。至于統(tǒng)計(jì)圖控件,我們更多的是使用DataWindow中統(tǒng)計(jì)圖控件。 操作示例窗口 - 9. 使用選擇操作控件 選擇操作控件用于讓用戶從多種選項(xiàng)中選擇一項(xiàng)或多項(xiàng)。這部分控件包括:?jiǎn)芜x按鈕、復(fù)選框、列表框、下拉列表框、下拉圖形列表框、圖形列表框、列表視圖、樹形視圖、標(biāo)簽控件等。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論