菜單和工具欄設(shè)計和應(yīng)用_第1頁
菜單和工具欄設(shè)計和應(yīng)用_第2頁
菜單和工具欄設(shè)計和應(yīng)用_第3頁
菜單和工具欄設(shè)計和應(yīng)用_第4頁
菜單和工具欄設(shè)計和應(yīng)用_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、菜單和工具欄設(shè)計和應(yīng)用 在Windows環(huán)境中,幾乎所有的應(yīng)用軟件都通過菜單來實現(xiàn)各種操作。而對于VB應(yīng)用程序來說,當操作比較簡單時,一般通過控件來執(zhí)行,而當要完成較復(fù)雜的操作時,使用菜單將很方便。 工具欄同樣以其直觀、快捷的特點出現(xiàn)在各種應(yīng)用程序中,事實上工具欄已經(jīng)成為Windows應(yīng)用程序的標準功能。它使用戶不必在一級級的菜單中去搜尋需要的命令,給用戶帶來比菜單更為快捷的操作。本章主要內(nèi)容: 菜單設(shè)計 工具欄設(shè)計 9.1 菜單設(shè)計 菜單的基本作用有兩個,一是提供人機對話的接口,以便讓用戶選擇應(yīng)用系統(tǒng)的各種功能;二是管理應(yīng)用系統(tǒng),控制各種功能模塊的運行。一個高質(zhì)量的菜單程序,不僅能使系統(tǒng)美觀

2、,而且能使用戶使用方便,并可避免由于誤操作而帶來的嚴重后果。 在實際應(yīng)用中,菜單可分為兩種基本類型:下拉式菜單和彈出式菜單。 下拉式菜單一般通過單擊菜單欄中菜單標題(如“文件”、“編輯”、“視圖”等)的方式打開,如圖9-1所示。圖9-1 下拉式菜單 彈出式菜單則通過用鼠標右鍵單擊某一區(qū)域的方式打開,如圖9-2所示。 一般來說,不同的區(qū)域所“彈出”的菜單內(nèi)容是不同的。如在VB的工具欄中的彈出菜單與窗體設(shè)計器中的彈出菜單就完全不同。圖9-2 彈出式菜單9.1.1 下拉式菜單 在下拉式菜單系統(tǒng)中,一般有一個主菜單,稱為菜單欄。其中包括一個或多個選擇項,稱為菜單標題。當單擊一個菜單標題時,包含菜單項的

3、列表(菜單)即被打開。菜單由若干個命令、分隔條、子菜單標題(其右邊含有三角的菜單項)等菜單項組成。當選擇子菜單標題時又會“下拉”出下一級菜單項列表,稱為子菜單。VB的菜單系統(tǒng)最多可達6層。 在VB中,菜單也是一個圖形對象,即控件。與其他控件一樣,它具有定義它的外觀與行為的屬性。在設(shè)計或運行時可以設(shè)置Caption屬性、Enabled和Visible屬性、Checked屬性以及其它屬性。菜單控件只包含一個事件,即Click事件,當用鼠標或鍵盤選中該菜單控件時,將調(diào)用該事件。 與一般控件不同的是,菜單控件不在VB的工具箱中,需要在VB“菜單編輯器”中進行菜單設(shè)計。 1. 菜單編輯器 菜單通過菜單編

4、輯器(即菜單設(shè)計窗口)建立。可以通過下面的4種方法之一進入菜單編輯器: l 執(zhí)行“工具”菜單中的“菜單編輯器”命令。 l 使用快捷鍵Ctrl+E。 l 單擊工具欄中的“菜單編輯器”按鈕。 l 在要建立菜單的窗體上單擊鼠標右鍵,在快捷菜單中,單擊“菜單編輯器”命令。 打開后的菜單編輯器窗口如圖9-3所示。圖9-3 菜單編輯器菜單編輯器分為3個部分。(1) 菜單控件屬性區(qū) 菜單控件屬性區(qū)用于設(shè)置菜單項的各個屬性,表9-1列出其中的主要屬性。屬 性說 明標題(Caption)設(shè)置菜單項的標題,相當于控件的Caption屬性,也是顯示在菜單中的字符。可以在標題中設(shè)置熱鍵。可以用分割線將某些菜單項歸為一

5、類并與其他項隔開名稱(Name)設(shè)置菜單項的名稱,相當于控件的Name屬性。菜單項的命名規(guī)則與控件的命名規(guī)則相同索引(Index)設(shè)置菜單控件數(shù)組的下標,相當于控件數(shù)組的Index屬性快捷鍵(Shortcut)設(shè)置與菜單項等價的快捷鍵。快捷鍵的賦值包括功能鍵與控制鍵的組合,如Ctrl+F1鍵或Ctrl+A鍵。它們出現(xiàn)在菜單中相應(yīng)菜單項的右邊復(fù)選(Checked)“復(fù)選”屬性設(shè)置為True時,可以在相應(yīng)的菜單項旁加上記號“”。表明該菜單項當前處于活動狀態(tài)有效(Enabled)用來設(shè)置菜單項的操作狀態(tài)。如果該屬性被設(shè)置為False,則相應(yīng)的菜單項會變“灰”,不響應(yīng)用戶事件可見(Visible)設(shè)置

6、該菜單項是否可見。如果該屬性被設(shè)置為False,則相應(yīng)的菜單項將被暫時從菜單中去掉,直到該屬性重新被設(shè)置為True表9-1 菜單控件的主要屬性 (2) 編輯區(qū) 編輯區(qū)共有7個按鈕,用來對輸入的菜單項進行簡單的編輯,見表9-2。表9-2 編輯區(qū)的按鈕按鈕說明 用來產(chǎn)生或取消內(nèi)縮符號“.”,內(nèi)縮符號可以確定菜單的層次。單擊一次右箭頭產(chǎn)生一個內(nèi)縮符號,單擊一次左箭頭則刪除一個內(nèi)縮符號用于調(diào)整菜單項的上下位置。當位于菜單控件列表框中的菜單項被選中后,可以通過上、下箭頭來移動其位置用于進入下一個菜單項的設(shè)計在光標所在處插入一個空白菜單項刪除光標所在處的菜單項 (3) 菜單項顯示區(qū) 菜單項顯示區(qū)位于菜單編

7、輯器的下部,輸入的菜單項在這里顯示出來,并通過內(nèi)縮符號表明菜單項的層次。 說明: “菜單項”包括4個方面的內(nèi)容:菜單名、菜單命令、分隔線和子菜單。 在輸入菜單項時,如果在字母前加上“&”,則顯示菜單時在該字母下面加上一條下劃線,可以通過Alt+“帶下劃線的字母”打開菜單或執(zhí)行相應(yīng)的菜單命令。 內(nèi)縮符號由4個小數(shù)點“.”組成,它表明菜單項所在的層次。一個內(nèi)縮符號“.”表示一層,兩個內(nèi)縮符號“.”表示兩層,最多為6層。如果一個菜單項前面沒有內(nèi)縮符號,則該菜單為菜單名,即菜單的第一層。 如果在“標題”欄內(nèi)只輸入一個“-”,則表示產(chǎn)生一個分隔線。 只有菜單名沒有菜單項的菜單稱為“頂層菜單”,在輸入這樣

8、的菜單項時,通常在后面加上一個感嘆號(!)。 除分隔線外,所有的菜單項都可以接受Click事件。【例9-1】在窗體上建立如圖9-4所示的文件下拉菜單。圖9-4 建立下拉菜單 操作步驟如下: 執(zhí)行“工具”菜單中的“菜單編輯器”命令,打開“菜單編輯器”窗口。 在標題欄中輸入“文件(&F)”,在菜單項顯示區(qū)中出現(xiàn)同樣的標題名稱。按Tab鍵(或用鼠標)把輸入光標移到“名稱”欄,在名稱欄中輸入file,此時菜單項顯示區(qū)中沒有變化。 單擊編輯區(qū)中的“下一個”按鈕,菜單項顯示區(qū)中的條形光標下移,同時資料區(qū)的“標題”欄及“名稱”欄被清空,光標回到“標題”欄。 在標題欄中輸入“新建”,該信息同時在菜單項顯示區(qū)中

9、顯示出來,用Tab鍵或鼠標把光標移到“名稱”欄,輸入new,單擊編輯區(qū)的右箭頭,菜單顯示區(qū)中的“新建”右移,同時其左側(cè)出現(xiàn)一個內(nèi)縮符號“.”,表明“新建”是“文件”的下一級菜單 依次輸入菜單中的各項,如果需要指定快捷鍵,可以單擊“快捷鍵”欄右端的箭頭,從中選出。例如為“打開”菜單項選中“Ctrl+O”作為其快捷鍵。 設(shè)計完成后的窗口如圖9-5所示,單擊“確定”按鈕,完成菜單的建立工作。圖9-5 在菜單編輯器窗口建立下拉菜單 【例9-2】利用下拉式菜單為標簽中的文本內(nèi)容設(shè)置不同的字體和風(fēng)格。如圖9-6所示。圖9-6 利用菜單控制標題板 設(shè)計步驟如下: 建立用戶界面及設(shè)置對象屬性,如圖9-7所示。

10、 圖9-7 設(shè)計用戶界面及設(shè)置對象屬性其中,菜單編輯器中各菜單項的設(shè)置見表9-3。 表9-3 菜單項的設(shè)置 標題(Caption)名稱(Name)說明標題板(&F)Menu主菜單項1.文本字體(&N)Nam子菜單項12. .宋體song子菜單項121. .隸書li子菜單項122. .楷體kai子菜單項123. .黑體hei子菜單項124.文本風(fēng)格(&S)Styl子菜單項13. .粗體Bld子菜單項131. .斜體Itl子菜單項132. .下劃線Undrln子菜單項133 編寫菜單項代碼。“文本字體”中4個菜單選項的Click事件代碼為:Private Sub song_Click() Labe

11、l1.FontName = 宋體End SubPrivate Sub li_Click() Label1.FontName = 隸書End SubPrivate Sub kai_Click() Label1.FontName = 楷體_GB2312End SubPrivate Sub hei_Click() Label1.FontName = 黑體End Sub “文本風(fēng)格”中3個菜單選項的Click事件代碼為:Private Sub bld_Click()End SubPrivate Sub Itl_Click()End SubPrivate Sub Undrln_Click()End Su

12、b 程序運行結(jié)果如圖9-6所示。 2. 菜單控件數(shù)組 既然VB將菜單項視為控件,因此就能運用控件數(shù)組的概念。菜單控件數(shù)組的作用主要有兩個: l 用于動態(tài)地增刪菜單項。 l 簡化編程,用一段代碼處理多個菜單項。【例9-3】利用下拉式菜單設(shè)計簡易的文本編輯器,使其具有創(chuàng)建、編輯、保存文本文件的內(nèi)容,如圖9-8所示。圖9-8 使用下拉菜單的簡單編輯器 設(shè)計步驟如下: 建立用戶界面及設(shè)置對象屬性。在窗體上增加一個公共對話框控件,一個文本框控件,并設(shè)置對象屬性,參見圖9-9所示。圖9-9 建立用戶界面及設(shè)置對象屬性 其中,菜單編輯器中各菜單項的設(shè)置見表9-4。表9-4 菜單項的設(shè)置標題(Caption)

13、名稱(Name)索引(Index)說 明文件(&F)Files主菜單項1.新建(&N)File0子菜單項11.打開(&O)File1子菜單項12.保存(&S)File2子菜單項13.另存(&A)File3子菜單項14.關(guān)閉(&X)File4子菜單項15編輯(&E)Edit主菜單項2.剪切Edi0子菜單項21.復(fù)制Edi1子菜單項22.粘貼Edi2子菜單項23.刪除Edi3子菜單項24 編寫菜單項代碼。菜單控件數(shù)組File的Click事件代碼為:Private Sub (Index As Integer) n = Index Select Case n Case 0 新建 Text1.Text

14、= Form1.Caption = 未命名 Case 1 打開 CommonDialog1.ShowOpen 顯示“打開”公共對話框 fname = CommonDialog1. If fname Then Text1.Text = Open fname For Input As #1 b = Do Until EOF(1) Line Input #1, nextline b = b & nextline & Chr(13) & Chr(10) Loop Close #1 Text1.Text = b End IfForm1.Caption = fname Case 2 保存 If Form1

15、.Caption = 未命名 Or Form1.Caption = Then CommonDialog1.ShowSave 顯示“另存為”公共對話框 fname = CommonDialog1. Else End If If fname Then Open fname For Output As #1 Close #1 End IfCase 3 另存 CommonDialog1.ShowSave 顯示“另存為”公共對話框 fname = CommonDialog1. If fname Then Open fname For Output As #1 Close #1 End If Case 4

16、 關(guān)閉 Text1.Text = Unload Me End SelectEnd Sub 編寫“編輯”菜單中的菜單控件數(shù)組Edi的Click事件代碼。在編寫過程中,需要用到兩個與剪貼板有關(guān)的方法:SetText方法和GetText方法。其中SetText方法是將指定的文本放入系統(tǒng)剪貼板中: 剪貼板對象的GetText方法可以作為函數(shù)一樣使用,它返回系統(tǒng)剪貼板當前的內(nèi)容:Text1.SelText = Clipboard.GetText()其中,Clipboard是VB提供的剪貼板對象。 菜單控件數(shù)組Edi的Click事件代碼為: Private Sub edi_Click(Index As I

17、nteger) i = Index Select Case i Case 0 剪切 Text1.SelText = Case 1 復(fù)制 Case 2 粘貼 Text1.SelText = Clipboard.GetText() Case 3 刪除 Text1.SelText = End SelectEnd Sub 程序運行結(jié)果如圖9-8所示。 3. 菜單項的可用與不可用 VB設(shè)計的菜單可以根據(jù)程序的運行狀態(tài)動態(tài)地進行調(diào)整。當菜單項所指示的操作不適合當前的環(huán)境時,可以暫時將其關(guān)閉,不讓用戶選擇該菜單項,也可以干脆把它隱藏起來,就像根本沒有這個菜單項一樣,等到條件成熟時,再重新顯示被隱藏的菜單項。

18、【例9-4】改編例9-3的程序,使得當文本中沒有被選中的內(nèi)容時,剪切、復(fù)制和刪除等功能被關(guān)閉(菜單項呈灰色)。一旦選中某些文本后,剪切、復(fù)制和刪除等功能就可以被使用,如圖9-10所示。圖9-10 菜單項的可用與不可用 只需在例9-3的基礎(chǔ)上增加“編輯”菜單項Edit的Click事件代碼為:Private Sub Edit_Click() edi(0).Enabled = IIf(Text1.SelLength = 0, False, True) edi(1).Enabled = IIf(Text1.SelLength = 0, False, True) edi(3).Enabled = IIf

19、(Text1.SelLength = 0, False, True)End Sub【例9-5】在例9-3的基礎(chǔ)上改變程序,隱藏剪切、復(fù)制和刪除菜單項。 隱藏菜單項的辦法也是很簡單的。在例9-3中,編寫文本框Text1的事件代碼。 鍵抬起(KeyUp)事件代碼為:Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) edi(0).Visible = IIf(Text1.SelLength = 0, False, True) edi(1).Visible = IIf(Text1.SelLength = 0, False, Tru

20、e) edi(3).Visible = IIf(Text1.SelLength = 0, False, True)End Sub 鼠標鍵抬起(MouseUp)事件代碼為:Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) edi(0).Visible = IIf(Text1.SelLength = 0, False, True) edi(1).Visible = IIf(Text1.SelLength = 0, False, True) edi(3).Visible =

21、 IIf(Text1.SelLength = 0, False, True)End Sub程序運行結(jié)果如圖9-11所示。圖9-11 隱藏和重現(xiàn)菜單項 9.1.2 彈出式菜單 彈出式菜單能以靈活的方式為用戶提供更加便利的操作,它可以根據(jù)用戶單擊鼠標右鍵時的位置,動態(tài)地調(diào)整菜單項的顯示位置,同時也改變菜單項顯示內(nèi)容,因此彈出式菜單又稱為“上下文菜單”或“快捷菜單”。 設(shè)計彈出式菜單仍然使用VB提供的菜單編輯器,只要把某個菜單設(shè)置成隱藏(即“可見”欄Visible屬性為False)就可以了。 實際上,不管是在窗口頂部菜單條上顯示的菜單,還是隱藏的菜單,都可以用PopupMenu方法把它們作為快捷菜單

22、在程序運行期間顯示出來,語法為:窗體名. PopupMenu 菜單名, flags ,x , y , boldcommand 說明: 省略窗體名時,將打開當前窗體的菜單。 菜單名是指通過菜單編輯器設(shè)計的菜單(至少有一個子菜單項)的名稱(Name)。 Flags參數(shù)為一些常量數(shù)值的設(shè)置,包含位置及行為兩個指定值,如表9-5、表9-6所示。兩個常數(shù)可以相加或以O(shè)r相連。表9-5 位置常數(shù)位置常數(shù)說 明0(默認)菜單左上角位于X4菜單上框中央位于X8菜單右上角位于X表9-6 行為常數(shù)行為常數(shù)說 明0(默認)菜單命令只接受右鍵單擊2菜單命令可接受左、右鍵單擊 Boldcommand參數(shù)可以指定在顯示的

23、彈出式菜單中想以粗體字出現(xiàn)的菜單項名稱。在彈出式菜單中只能有一個菜單項被加粗。 為創(chuàng)建一個不顯示在菜單欄里的菜單,可在設(shè)計時使頂級菜單項目為不可見(保證在菜單編輯器里的“可見”復(fù)選框沒有被選上)。當VB顯示一個彈出式菜單時,指定的頂級菜單的Visible屬性會被忽略。【例9-6】在例9-3中實現(xiàn)彈出式菜單,如圖9-12所示。 首先在菜單編輯器中將“文件”菜單的“可見”欄中的對號取消,如圖9-13所示。 圖9-12 自定義的彈出式菜單 圖9-13 將菜單項的可見屬性Visible設(shè)為False 增加窗體的MouseDown事件代碼為:Private Sub Form_MouseDown(Butt

24、on As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu Files, 6 End IfEnd Sub 在程序運行時,右鍵單擊窗體,即可彈出快捷菜單,如圖9-12所示。 另外,在VB的文本框中,即使不編程也可以得到一個彈出式菜單。例如在文本編輯器中,單擊鼠標右鍵即可得到如圖9-14所示的彈出式菜單。圖9-14 在VB文本框中不用編程的彈出式菜單 9.2 工具欄設(shè)計 工具欄同樣以其直觀、快捷的特點出現(xiàn)在各種應(yīng)用程序中,事實上工具欄已經(jīng)成為Windows應(yīng)用程序的標準功能。它使用戶

25、不必在一級級的菜單中去搜尋需要的命令,給用戶帶來比菜單更為快捷的操作。 在VB中可以通過手工方式和使用工具欄控件(Toobar)兩種方法建立工具欄。9.2.1 用手工方式制作工具欄 用手工方式制作工具欄,其實就是設(shè)計一個放置一些工具按鈕的圖片框。手工制作工具欄的一般步驟如下: 在窗體中添加一個圖片框(作為工具按鈕的容器),并通過設(shè)置圖片框的Align屬性來控制工具欄(圖片框)在窗體中的位置。當改變窗體的大小時,Align屬性值非0的圖片框會自動地改變大小以適應(yīng)窗體的寬度或高度。 選定圖片框,在圖片框中添加任何想在工具欄中顯示的控件。通常使用的控件有:命令按鈕、圖形方式的單項鈕和復(fù)選框按鈕、下拉

26、列表框等。 設(shè)置控件的屬性。通常在工具按鈕上通過不同的圖像來表示對應(yīng)的功能,還可以設(shè)置按鈕的ToolTipText屬性為工具按鈕添加工具提示。 編寫代碼。由于工具按鈕通常用于提供對其他(菜單)命令的快捷訪問,所以一般都是在其Click事件代碼中調(diào)用對應(yīng)的菜單命令。【例9-7】在例9-3的文本編輯器中增加一個自定義的工具欄,如圖9-15所示。圖9-15 帶有工具欄的文本編輯器 在例9-3的基礎(chǔ)上作如下修改: 修改應(yīng)用程序用戶界面。在窗體上增加一個圖片框Picture1,然后在圖片框中增加一個命令按鈕數(shù)組Command1(0)Command1(2)。 設(shè)置新增對象屬性,見表9-7。表9-7 新增對

27、象的屬性設(shè)置對 象屬 性屬 性 值說 明Picture1Align1Align Top圖片框位于窗體的頂部Command1()Caption清空Style1Graphical圖形按鈕Picture分別為New.bmp、Open.bmp、Save.bmp建立用戶界面及設(shè)置對象屬性后的界面,如圖9-16所示。 圖9-16 建立用戶界面 修改及編寫程序代碼。修改窗體的事件代碼為: Private Sub Form_Resize() With Text1 .Left = 0 End WithEnd Sub 編寫命令按鈕數(shù)組Command1的Click事件代碼為:Private Sub Command1

28、_Click(Index As Integer) (Index)End Sub9.2.2 使用Toolbar控件與ImageList控件 使用工具欄控件(Toolbar)可以使應(yīng)用程序的工具欄更具標準化和更顯專業(yè)性。 工具欄控件是VB專業(yè)版和企業(yè)版所特有的ActiveX控件,可以將其添加到工具箱中,以便在工程中使用。操作方法為: 在主菜單中選擇“工程”,在“工程”下拉菜單中選擇“部件”,即可打開“部件”對話框。 選中,用鼠標單擊“確定”按鈕,即可在工具箱中增加一組控件。其中用來創(chuàng)建工具欄的控件是Toolbar控件與ImageList控件,如圖9-17所示。圖9-17 Toolbar控件與Ima

29、geList控件 1. Toolbar控件 用鼠標雙擊Toolbar控件,它將自動加入窗體并出現(xiàn)在窗體的頂部(也可單擊控件后在窗體中畫出控件)。通過設(shè)置圖片框的Align屬性可以控制工具欄在窗體中的位置。當改變窗體的大小時,Align屬性值非0的Toolbar控件會自動地改變大小以適應(yīng)窗體的寬度或高度。 用鼠標右鍵單擊窗體上的Toolbar控件,在彈出的快捷菜單中選擇“屬性”,打開“屬性頁”對話框,如圖9-18所示。圖9-18 Toolbar的“屬性頁”對話框中的“通用”選項卡 “通用”選項卡中的“圖像列表”屬性將被用來與ImageList控件建立關(guān)聯(lián)。此時列表為空,是因為尚未將ImageLi

30、st控件添加到窗體中的緣故。 用鼠標選擇“按鈕”選項卡,如圖9-19所示。圖9-19 “按鈕”選項卡其中的各項功能說明如下: 插入與刪除按鈕:在Button(按鈕)集合中添加或刪除元素。通過Button集合可以訪問工具欄中的各個按鈕。 索引與關(guān)鍵字:工具欄中的按鈕通過Button集合進行訪問,集合中的每個按鈕都有惟一的標識,索引(Index屬性)和關(guān)鍵字(Key屬性)就是這個標識。索引為整型,關(guān)鍵字為字符串型,訪問按鈕時可以引用二者之一。 標題與描述:標題(Caption屬性)是顯示在按鈕上的文字。描述是按鈕的說明信息。 值(Value屬性)決定按鈕的狀態(tài),0-tbrUnpressed為彈起狀

31、態(tài),1-tbrPressed為按下狀態(tài)。 樣式(Style屬性)決定按鈕的行為特點,并且將影響按鈕的功能,如表9-8所示。 表9-8 Style屬性值及其意義 值符號常數(shù)說 明0tbrDefault缺省按鈕。按鈕是一個規(guī)則的下壓按鈕1tbrCheck復(fù)選按鈕。具有按下、放開兩種狀態(tài)。當按鈕代表的功能是某種開關(guān)類型時,可使用復(fù)選樣式2tbrButtonGroup單選鈕組。當一組按鈕功能相互排斥時,可以使用單選鈕組樣式。注意:同一時刻只能按下一個按鈕,但所有按鈕可能同時處于抬起狀態(tài)3tbrSeparator分隔符。按鈕的功能是作為有8個像素的固定寬度的分隔符。分隔符樣式的按鈕可以將不同組或不同類的

32、按鈕分隔開,例如將單選鈕分組4tbrPlaceholder占位符。按鈕在外觀和功能上像分隔符,但具有可設(shè)置的寬度。占位符樣式按鈕的功能如同“啞”按鈕:該按鈕的作用是在Toolbar控件中占據(jù)一定位置,以便顯示其它控件(如ComboBox控件或ListBox控件)5tbrDropdown下拉式按鈕。可以建立下拉菜單 寬度(Width屬性):當Style屬性為4時,可設(shè)置按鈕的寬度。 圖像(Image屬性):按鈕上顯示的圖片在ImageList控件中的編號。 工具提示文本(ToolTipText屬性):程序運行時,當鼠標指向按鈕時顯示的說明文字。2. ImageList控件 工具欄按鈕本身沒有Pi

33、cture屬性,不能像其他控件那樣用Picture屬性直接添加按鈕上顯示的圖片。為此,VB專門提供了圖像列表控件ImageList,在它的幫助下可以實現(xiàn)工具欄按鈕圖片的載入。 利用ImageList控件為Toolbar添加圖片的具體操作過程如下: 向Toolbar控件所在的窗體中添加ImageList控件。 用鼠標右鍵單擊窗體中的ImageList控件,在彈出的快捷菜單中選擇“屬性”,打開“屬性頁”對話框,如圖9-20所示。圖9-20 “屬性頁”對話框 單擊“圖像”選項卡中的“插入圖片”按鈕,在彈出的“選定圖片”對話框中找到所需要的圖片,單擊“打開”按鈕即可將圖片添加到ImageList控件中

34、。重復(fù)上述操作直到得到所有需要的圖片。 建立Toolbar控件與ImageList控件的關(guān)聯(lián):打開Toolbar控件的屬性頁對話框,在“通用”選項卡的“圖像列表”選項中選擇ImageList控件名,即可建立兩者間的關(guān)聯(lián)。 在程序運行時,下述代碼也可建立兩者間的關(guān)聯(lián):Private Sub Form_Load() Toolbar1.ImageList = ImageList1End Sub 為工具欄按鈕載入圖片。一旦Toolbar與ImageList控件建立了關(guān)聯(lián),Toolbar屬性頁對話框的“按鈕”選項卡中的“圖像”選項變?yōu)橛行АV恍柙谄渲休斎隝mageList圖像庫中圖像的索引號即可將對應(yīng)的圖片添加到按鈕上。 下面我們使用工具欄控件來重新設(shè)計例12-6中的文本編輯器。【例9-8】在例9-7的文本編輯器中改用工具欄控件設(shè)計新的工具欄。 在例9-7的基礎(chǔ)上作如下修改: 修改應(yīng)用程序用戶界面。將窗體上的圖片

溫馨提示

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

評論

0/150

提交評論