工具狀態(tài)欄和多選項(xiàng)卡_第1頁
工具狀態(tài)欄和多選項(xiàng)卡_第2頁
工具狀態(tài)欄和多選項(xiàng)卡_第3頁
工具狀態(tài)欄和多選項(xiàng)卡_第4頁
工具狀態(tài)欄和多選項(xiàng)卡_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 上章回顧: 菜單 主菜單 快捷菜單第11章 工具狀態(tài)欄與多選項(xiàng)卡 本章要點(diǎn): 工具欄 狀態(tài)欄 PageControl11.1 循序漸進(jìn)學(xué)理論 隨著Windows操作系統(tǒng)風(fēng)行世界,各種基于Windows的應(yīng)用程序及各類娛樂軟件也日益為人們所熟悉。這些軟件的共同特點(diǎn)之一就是都包含了工具欄和狀態(tài)欄及其多項(xiàng)選項(xiàng)卡。目前大部分Windows應(yīng)用程序中,含有工具欄和狀態(tài)欄己形成了一種常規(guī)。工具欄一般位于窗口的項(xiàng)部,狀態(tài)欄一般位于窗口的底部,用于顯示當(dāng)前的狀態(tài)及一些提示信息11.1 工具欄用面板構(gòu)成工具欄使用工具欄組件設(shè)計(jì)工具欄使用CoolBar組件設(shè)計(jì)工具欄使用控件欄組件設(shè)計(jì)工具欄狀態(tài)欄設(shè)計(jì)1 、工具欄

2、的設(shè)計(jì)方法用面板構(gòu)成工具欄 工具欄用于實(shí)現(xiàn)具體的功能實(shí)現(xiàn),一般是通過面板組件和快捷按鈕組件進(jìn)行設(shè)計(jì)??旖莅粹o 快捷按鈕(SpeedButton)在組件板的Additional選項(xiàng)卡上,默認(rèn)形狀為正方形,當(dāng)然也可以改變它的形狀和大小。快捷按鈕的常用屬性:Caption屬性:用于設(shè)置快捷按鈕表面所顯示的文本。Glyph屬性:用于設(shè)置快捷按鈕表面的位圖。GroupIndex屬性:通過設(shè)置GroupIndex屬性,可以像使用復(fù)選框或單選按鈕那樣來使用快捷按鈕。按下某個(gè)按鈕時(shí),只有被選擇的按鈕處于按下狀態(tài)。而其他的快捷按鈕均處于彈起狀態(tài),就應(yīng)將這一組快捷按鈕的GroupIndex屬性賦予相同的值。該值不

3、能和其他組的GroupIndex值相沖突。要使某按鈕被選中時(shí)保持按下狀態(tài)應(yīng)給該按鈕的GroupIndex屬性賦予一個(gè)大于0的整數(shù)值。否則在松開按鈕后,它也會(huì)自動(dòng)彈起。Hint屬性:用于設(shè)置快捷按鈕的提示功能及在狀態(tài)欄所顯示的文本。Layout屬性:用于設(shè)置快捷按鈕表面的文本和位圖的顯示風(fēng)格。 Down屬性:用于判斷快捷按鈕是否處于被按下狀態(tài)。AllowAllUp屬性:將快捷按鈕的AllowAllUp屬性設(shè)為True時(shí),當(dāng)單擊處于按下狀態(tài)的該快捷按鈕時(shí),它可恢復(fù)彈起狀態(tài)。 當(dāng)在設(shè)置某個(gè)快捷按鈕的AllowAllup屬性時(shí),其他與該按鈕的GroupIndex屬性值相同的快捷按鈕的AllowAllU

4、p屬性也會(huì)發(fā)生相同的變化。面板面板是一個(gè)容器型的組件,在面板上可以放置其他組件(包括面板組件)。所有放置在面板上的組件都以面板為父組件。在工具欄設(shè)計(jì)中一般將面板的Align屬性設(shè)為alTop,使面板與窗體的頂部對(duì)齊。用面板構(gòu)成工具欄在面板上放置一些快捷按鈕可構(gòu)成工具欄設(shè)計(jì)過程為窗體添加一個(gè)面板組件在面板中放置三個(gè)小面板,用以對(duì)快捷按鈕按菜單劃分。在小面板上放置快捷按鈕等組件。鏈接工具欄與菜單的OnClick事件編寫事件響應(yīng)代碼 【例11-1】用面板和快捷按鈕建立工具欄 設(shè)計(jì)界面procedure TForm1.newClick(Sender: TObject);beginmemo1.Clear

5、;end;procedure TForm1.openClick(Sender: TObject);beginwith opendialog1 doif execute thenmemo1.Lines.LoadFrom);end;procedure TForm1.saveClick(Sender: TObject);begin with savedialog1 doif execute thenmemo1.Lines.saveto);end;procedure TForm1.cutClick(Sender: TObject);beginif memo1.SelLength0thenmemo1.C

6、utToClipboard;end;procedure TForm1.quitClick(Sender: TObject);beginclose;end;procedure TForm1.copyClick(Sender: TObject);beginif memo1.SelLength0thenmemo1.copyToClipboard;end; procedure TForm1.pastClick(Sender: TObject);beginmemo1.PasteFromClipboard;end;procedure TForm1.fontClick(Sender: TObject);be

7、ginif fontdialog1.execute thenmemo1.Font:=fontdialog1.Font;end;procedure TForm1.colorClick(Sender: TObject);begin if colordialog1.execute thenmemo1.color:=colordialog1.color;end;procedure TForm1.N16Click(Sender: TObject);beginmessagedlg(歡迎使用本軟件,mtinformation,mbok,0) ;end;procedure TForm1.ComboBox1Ch

8、ange(Sender: TObject);beginmemo1.Font.Name:=combobox1.Text;end;procedure TForm1.ComboBox2Change(Sender: TObject);beginmemo1.Font.Size:=strtoint(combobox2.Text);end;用工具欄組件構(gòu)成工具欄 Delphi提供了新的工具欄(ToolBar)組件,位于組件板的Win32選項(xiàng)卡上,可用來直接創(chuàng)建工具欄。主要屬性有:EdgeBorders屬性:該屬性設(shè)置工具欄的邊界,有四個(gè)屬性值; ebLeft(左邊界)、ebTop(上邊界)、 ebRight

9、(右邊界)、ebBottom(底邊界)Flat屬性:該屬性用來設(shè)置工具欄上的按鈕的顯示效果Grouped屬性:該屬性用來設(shè)置工具欄上的相鄰按鈕為一組,同組中的按鈕為單選Menuitemt屬性:該屬性用來設(shè)置工具欄上的按鈕同菜單命令連接起來Style屬性:該屬性用來設(shè)置工具欄上的按鈕的類型工具欄上添加的按鈕屬于TToolButton類型,每個(gè)按鈕都可用對(duì)象查看器設(shè)置屬性。Style屬性 該屬性提供了以下屬性值。tbsButton:表示標(biāo)準(zhǔn)按鈕(缺省)。tbsCheck:表示具有復(fù)選功能或單選功能的按鈕。如果按鈕不與其他按鈕編組,則具有復(fù)選功能。如果與其他按鈕一起編組,則具有單選功能。tbsDev

10、ider:表示一條豎線型分隔條。tbsDropDown:表示凹陷式按鈕,但需要使用其他組件進(jìn)行支持。tbsSeparator:表示空格型分隔條。Grouped屬性要使一組按鈕具有單選功能,通常要給工具欄上相鄰按鈕分組。 將組中每個(gè)TToolButton按鈕的Grouped屬性設(shè)置為True,這些按鈕必須是相鄰的。按鈕分組時(shí),如果遇到一個(gè)按鈕的Grouped屬性不是True,或其Style屬性不是tbsCheck,或添加了一個(gè)分隔條,則分組自動(dòng)結(jié)束。MenuItem屬性要使工具欄上按鈕與相應(yīng)的菜單命令對(duì)應(yīng),請(qǐng)?jiān)贛enuItem屬性中選擇相應(yīng)的菜單命令名稱(Name屬性)。但是設(shè)置MenuItem

11、屬性后,按鈕將不再保留位圖或需要重新設(shè)置位圖。Hint屬性各工具欄上按鈕的功能提示。要在程序運(yùn)行時(shí)能顯示按鈕的功能提示,還得將窗體Form1的ShowHint屬性和工具欄ToolBar1的ShowHint屬性設(shè)置為True。ImageIndex為按鈕提供位圖。右擊窗體中的ImageList1組件,將打開一個(gè)快捷菜單,從中選擇ImageList Editor命令,打開圖像列表編輯器窗口。單擊Add按鈕,可增加一幅位圖。將工具欄上按鈕用到的位圖按順序加載到Images列表中,然后單擊OK按鈕返回。再將ToolBar組件的Images屬性設(shè)置為ImageList組件的Name屬性。提示:如果Imag

12、eList加載位圖的順序與工具欄上的按鈕順序不一致,請(qǐng)將每一個(gè)TToolButton對(duì)象的ImageIndex屬性設(shè)置位圖加載的序號(hào)。設(shè)計(jì)過程往窗體中添加一個(gè)ToolBar組件工具欄上添加快捷按鈕(不是快捷按鈕組件)。右擊工具欄組件,打開一快捷菜單。如果要添加按鈕,選擇New Button命令;如果要添加分隔條,選擇New Separator命令。設(shè)置工具欄上按鈕的屬性。為按鈕提供位圖鏈接工具欄與菜單的OnClick事件編寫事件響應(yīng)代碼【例11-2】用工具欄按鈕建立工具欄,CoolBar組件除了ToolBar組件,Delphi還提供了CoolBar組件,可以用來設(shè)置工具欄。CoolBar組件位

13、于組件板的Win32選項(xiàng)卡上。和ToolBar組件不同,CoolBar組件是一個(gè)容器型組件。相關(guān)屬性EdgeBorders屬性:該屬性設(shè)置工具欄的邊界,有四個(gè)屬性值;Bands屬性:該屬性設(shè)置工具欄中的TcoolBand對(duì)象,可增加和刪除TcoolBand對(duì)象Vertical屬性:該屬性用來設(shè)置工具欄上水平顯示(true)還是垂直顯示(false)Break屬性:該屬性用來設(shè)置工具欄上的TcoolBand對(duì)象的位置設(shè)計(jì)過程往窗體中添加一個(gè)CoolBar組件工具欄上添加快捷按鈕TCoolBand(不是快捷按鈕組件)。單擊TCoolBand對(duì)象的Control屬性右側(cè)的下拉按鈕,可從中選擇一個(gè)組件

14、。設(shè)置工具欄上按鈕的屬性。為按鈕提供位圖鏈接工具欄與菜單的OnClick事件編寫事件響應(yīng)代碼控件欄組件控件欄與CoolBar一樣,是一個(gè)容器型控件,可以管理多個(gè)控件,允許用戶在運(yùn)行時(shí)拖動(dòng)并重新布置工具欄。同時(shí),控件欄組件的使用更加簡(jiǎn)單,只需將其他控件放置到其中即可,就象面板一樣。使用控件欄時(shí),通常先將控件放到工具欄或其他容器型組件中,而不直接放到控件欄中??丶诮M件位于組件板的Addiitional選項(xiàng)卡上工具欄的顯示與隱藏有時(shí),會(huì)要求隱藏某些工具欄以提供較多的空間,可以通過設(shè)置toolbar組件的visible屬性來實(shí)現(xiàn)。 工具欄按鈕的灰顯設(shè)置工具欄按鈕的enable屬性來實(shí)現(xiàn)。11.2 狀

15、態(tài)欄在應(yīng)用程序的窗口底部,經(jīng)常會(huì)有狀態(tài)欄。狀態(tài)欄通常用于顯示當(dāng)前的狀態(tài)及一些提示信息。狀態(tài)欄(StatusBar)組件位于組件板的Win32選項(xiàng)卡上,它比較類似于面板組件。狀態(tài)欄的基本屬性panels屬性:該屬性設(shè)置狀態(tài)欄上的面板Simplepanels屬性:該屬性為true時(shí),狀態(tài)欄為單面板,狀態(tài)欄將只有一個(gè)顯示區(qū)域,顯示在SimpleText中設(shè)定的文本。Simpletext屬性:該屬性用來設(shè)置狀態(tài)欄上顯示概述性的字符串(true)Alignment屬性:設(shè)對(duì)齊置文字的方式 屬性設(shè)為alBottom,使它靠窗體的底部對(duì)齊。Bevel屬性:該屬性設(shè)置狀態(tài)欄上的面板顯示風(fēng)格、Style屬性:該

16、屬性設(shè)置面板中顯示文字還是圖形Text屬性:該屬性用來設(shè)置面板中顯示的文字Width屬性:設(shè)置面板的寬度顯示狀態(tài)及提示信息在許多Windows應(yīng)用程序中,用戶也許會(huì)發(fā)現(xiàn)狀態(tài)欄實(shí)際上可以看成由多個(gè)子面板組成。它們將狀態(tài)欄分成幾部分,而每一個(gè)子面板都有自己的顯示區(qū)域。設(shè)計(jì)狀態(tài)欄如下操作。窗體中添加狀態(tài)欄組件(假定為StatusBar1)將狀態(tài)欄的SimplePanel屬性設(shè)為False。雙擊狀態(tài)欄的Panels屬性,打開Editing StatusBar1.Panels窗口。單擊窗口中的Add New按鈕,就會(huì)增加一個(gè)子面板。在對(duì)象查找器中設(shè)置子面板的屬性。連續(xù)單擊Add New按鈕,可添加多個(gè)子

17、面板。關(guān)閉Editing StatusBar1.Panels窗口。狀態(tài)欄子面板中添加顯示內(nèi)容。直接將要顯示內(nèi)容文本賦值給StatusBar1.Panels0.Text直接在狀態(tài)欄的子面板中顯示所需內(nèi)容。 例如:在第一個(gè)子面板中顯示時(shí)鐘: 先在窗口中加入Timer組件Timer1, 將其Interval屬性改為500,并加入事件Timer1Timer。 procedure TForm1.Timer1Timer(Sender: TObject); begin StatusBar1.Panels0.Text:= TimeToStr(Time); end;【例11-2】用狀態(tài)欄程序簡(jiǎn)單應(yīng)用,如程序所示

18、11.3 PageControl控件 在使用多個(gè)窗體的情況下,可以使用菜單或按鈕等完成多個(gè)窗體之間的切換,其實(shí)這種情況可以使用多選項(xiàng)卡控件PageControl實(shí)現(xiàn)在一個(gè)窗體上進(jìn)行瀏覽多個(gè)事件的處理情況。 該組件位于WIN32組件板上,適用于每一個(gè)選項(xiàng)卡顯示一個(gè)獨(dú)立的信息,該控件的每一個(gè)選項(xiàng)卡都是一個(gè)TTabSheet控件。 11.3 PageControl控件多選項(xiàng)卡控件PageControl實(shí)現(xiàn)在一個(gè)窗體上進(jìn)行瀏覽多個(gè)事件的處理情況。該組件位于WIN32組件板上,適用于每一個(gè)選項(xiàng)卡顯示一個(gè)獨(dú)立的信息,該控件的每一個(gè)選項(xiàng)卡都是一個(gè)TTabSheet控件。在新的工程的窗體中添加一個(gè)PageCo

19、ntrol控件,選擇該控件,單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“New Page”選項(xiàng),就可以在控件中添加選項(xiàng)卡,多次使用“New Page”命令可以添加多個(gè)選項(xiàng)卡。用戶可以分別在每一選項(xiàng)卡中進(jìn)行設(shè)計(jì),各個(gè)選項(xiàng)卡之間互不干涉,每個(gè)選項(xiàng)卡可以根據(jù)用戶的需要來設(shè)計(jì)。TPageControl組件的常用屬性Pages屬性:該屬性是一個(gè)數(shù)組屬性,它的每一個(gè)元素代表TPageControl組件中的一個(gè)頁面,是TTabSheet類型的。PageCount屬性:該屬性用來返回TPageControl組件中頁面的數(shù)量。ActivePage屬性:該屬性用來為TPageControl組件設(shè)置當(dāng)前頁或返回TPage

20、Control組件的當(dāng)前頁,其類型是TTabSheet。ActivePage屬性:該屬性用來為TPageControl組件設(shè)置當(dāng)前頁或返回TPageControl組件的當(dāng)前頁,其類型是TTabSheet。 ActivePageIndex屬性:該屬性用來返回TPageControl組件的當(dāng)前頁的索引號(hào),或通過該屬性把某索引號(hào)的頁設(shè)為當(dāng)前頁。 MultiLine屬性:該屬性用來決定頁標(biāo)簽是否允許多行顯示 。 【例11-3】 編寫一個(gè)顯示文本文件和圖片文件的應(yīng)用程序,要求使用TPageControl組件,在TPageControl組件的兩頁中分別顯示文本文件和圖片文件的內(nèi)容。程序的設(shè)計(jì)界面如圖7-2

21、6和圖7-27所示。程序的運(yùn)行時(shí),單擊“文本文件”頁標(biāo)簽,然后單擊【打開】按鈕將彈出【打開】對(duì)話框供用戶選擇一個(gè)文本文件,選中的文本文件將顯示在TMemo組件中,如圖所示。單擊“圖片文件”頁標(biāo)簽,然后單擊【打開】按鈕將彈出【打開圖片】對(duì)話框供用戶選擇一個(gè)圖片文件,選中的圖片文件將顯示在TImage組件中,如圖所示。 10.4 多窗體程序的設(shè)計(jì)為應(yīng)用程序添加和刪除窗體窗體間切換新建一個(gè)Delphi項(xiàng)目時(shí),項(xiàng)目中只有一個(gè)名為Form1的窗體,如果要為當(dāng)前應(yīng)用程序添加窗體,可通過單擊工具欄上的新建窗體“ ”按鈕來實(shí)現(xiàn)。如果想把當(dāng)前項(xiàng)目中的某窗體去除,可通過單擊工具欄上的移去文件“ ”按鈕來實(shí)現(xiàn)。切換方法是單擊工具欄上的查看窗體“ ”按鈕。設(shè)置主窗體和自動(dòng)創(chuàng)建窗體 所謂主窗體是指程序開始運(yùn)行時(shí)出現(xiàn)的窗體,新建一個(gè)D

溫馨提示

  • 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)論