vb的工具欄 對話方塊 一

2022-10-15 02:51:02 字數 4883 閱讀 4241

發布時間:2007-05-05 **:未知作者:未知

可以用工具欄進一步增強應用程式的選單介面。工具欄含有工具欄按鈕,它提供了對於應用程式中最常用的命令的快速訪問。例如:

visual basic的工具欄含有執行常用命令的*******button,如「開啟」(開啟已存在的工程)、「儲存」(儲存當前的工程),等等。

建立工具欄

工具欄(也稱為發條或者控制欄)已經成為許多基於windows的應用程式的標準功能。工具欄提供了對於應用程式中最常用的選單命令的快速訪問。使用*******控制項來建立工具欄非常容易且很方便,它在visual basic的專業版與企業版中是可用的。

如果使用的是visual basic學習版,則可以像本章後面的「協調選單與工具欄的外觀」所描述的那樣用手工來建立工具欄。

下列示例演示為mdi應用程式建立工具欄的過程;在標準窗體上建立乙個工具欄的過程基本上一樣。

要手工建立工具欄,請按照以下步驟執行:

1. 在mdi窗體上放置乙個**框。**框的寬度會自動伸展,直到填滿mdi窗體工作空間。

工作空間就是窗體邊框以內的區域,不包括標題條、選單欄或所有的工具欄、狀態列或者可能在窗體上的滾動條。

注意只能把那些直接支援align屬性的控制項放置在mdi窗體上(**框是支援這一屬性的唯一的標準控制項)。

2. 在**框中,可以放置任何想在工具欄上顯示的控制項。典型地,用commandbutton或image控制項來建立工具欄按鈕。

圖 6.16表示出了乙個含有image控制項的工具欄。

要在**框中新增控制項,單擊工具欄中的控制項按鈕,然後在**框中畫出它。

注意當mdi窗體中包含了**框時,該 mdi 窗體的內部區域不包括**框在內。例如:mdi窗體的scaleheigh屬性返回mdi窗體的內部高度,這個高度已不包括**框的高度。

3. 設定設計時屬性。

使用工具欄的乙個好處是可以顯示乙個形象的命令圖示。image控制項是作為工具欄按鈕的乙個很好的選擇,因為可以用它來顯示乙個位圖。在設計時設定其picture屬性來顯示乙個位圖;這樣,當該按鈕被單擊時,即能提供乙個命令執行的可見資訊。

也可以通過設定按鈕的tooltiptext屬性來使用工具提示,這樣,當使用者把滑鼠指標保持在乙個按鈕上時,就可以顯示出該工具欄按鈕的名稱。

4. 編寫**

因為工具欄頻繁地用於提供對其它命令的快捷訪問,因而在大部分時間內都是從每乙個按鈕的click事件中呼叫其它過程,比如對應的選單命令。

提示可用乙個不顯示工具欄的mdi窗體來使用在執行時不可見的控制項(比如timer控制項)。為了做到這一點,在mdi窗體上放置乙個**框,把控制項放到**框中,然後把**框的visible屬性設定為false。

編寫工具欄的**

工具欄用於提供訪問某些應用程式命令的快捷方法。例如:圖 6.

16 中工具欄上的第乙個按鈕就是「新建檔案」命令的快捷鍵。現在,可以在mdinotepad示例應用程式中三個地方請求建立新檔案。

1.在mdi窗體上(mdi窗體上「檔案」選單中的「新建」命令)。

2.在子窗體上(在子窗體「檔案」選單上的「新建」命令)。

3.在工具欄上(「新建檔案」按鈕)。

與其把這個**重複三次,還不如從子窗體的mnufilenew_click事件取出原**,然後把它放入子窗體的乙個公用過程中。可以從上面任何乙個事件過程呼叫這個過程。以下是乙個示例:

'這個例程在公共過程中。

public sub filenew ()

dim frmnewpad as new frmnotepad

end sub

'在子窗體的「檔案」選單上選取「新建」。

private sub mnuchildfilenew_click ()

filenew

end sub

'在 mdi 窗體的「檔案」選單上選取「新建」。

private sub mnumdifilenew_click ()

end sub

'在工具欄上單擊「新建檔案」按鈕。

private sub btnfilenew_click ()

end sub

協調選單與工具欄的外觀

當由其它應用程式提供的物件在窗體中被啟用時,有許多方法讓物件的選單與工具欄出現在容器窗體內;然而,需要規定它們將如何顯示。這一過程叫做使用者介面協調,因為visual basic與已經鏈結或嵌入的物件必須協調容器窗體中的空間。

控制選單的外觀

。如果子窗體的negotiatemenus屬性置為true(預設),而且容器有乙個定義的選單欄,那麼,當這個物件被啟用時,它的選單就放置在容器的選單欄中。如果容器沒有選單欄,或者negotiatemenus 屬性被設定為false,那麼,當這個物件啟用時物件的選單將不出現。

注意 negotiatemenus屬性不適用於mdi窗體。

控制工具欄的外觀

。這種效能不要求工具欄出現在mdi父窗體上。如果mdi窗體的negotiate*******s屬性設為true,則物件的工具欄出現在mdi父窗體上。

如果negotiate*******s設為false,則物件的工具欄就為不固定的調色盤。

注意 negotiate*******s屬性只用於mdi窗體。

如果mdi窗體包含工具欄,它通常被包含在父窗體的picturebox控制項中。**框的negotiate屬性決定了被啟用時容器的工具欄是繼續顯示還是被物件的工具欄所代替。如果negotiate設定為true,則除了容器的工具欄外還顯示物件的工具欄。

如果negotiate設定為false,則物件的工具欄代替容器的工具欄。

注意選單與工具欄的協調只發生在支援現場啟用的可插入物件之上。有關現場啟用的詳細資訊,請參閱第十章「用部件程式設計」。用以下過程可以看到這三個屬性如何互動作用。

要執行選單與工具欄的協調,請按照以下步驟執行:

1. 在mdi窗體中新增工具欄。這在本章前面的「建立工具欄」中描述過。

2. 在子窗體上放置乙個可插入的物件。

3. 設定negotiatemenus、negotiate*******s以及negotiate屬性。

4. 執行此應用程式,然後雙擊該物件。

對話方塊在基於windows的應用程式中,對話方塊被用來:

提示使用者提**用程式繼續執行所需要的資料。

向使用者顯示資訊。

例如,在visual basic中,用「開啟檔案」對話方塊來顯示已存在的工程。visualbasic中的「關於」對話方塊也是乙個如何使用對話方塊來顯示資訊的例子。在選單欄上單擊「幫助」,選擇「關於visual basic」選單項,則顯示「關於」對話方塊。

模式與無模式的對話方塊

對話方塊不是模式就是無模式的。模式對話方塊,在可以繼續操作應用程式的其他部分之前,必須被關閉(隱藏或解除安裝)。例如,如果乙個對話方塊,在可以切換到其它窗體或對話方塊之前要求先單擊「確定」或「取消」,則它就是模式的。

visual basic中的「關於」對話方塊是模式的。顯示重要訊息的對話方塊總應當是模式的——那就是說,在繼續做下去之前,總是要求使用者應當先關上對話方塊或者對它的訊息作出響應。

無模式的對話方塊允許在對話方塊與其他窗體之間轉移焦點而不用關閉對話方塊。當對話方塊正在顯示時,可以在當前應用程式的其他地方繼續工作。無模式對話方塊很少使用。

visual basic中「編輯」選單中的「查詢」對話方塊就是乙個無模式對話方塊的例項。無模式對話方塊用於顯示頻繁使用的命令與資訊。

要將窗體作為模式對話方塊顯示,請

1.使用show方法,其style引數值為vbmodal(乙個值為1的常數)。例如:

'將frmabout 為模式對話方塊顯示。

vbmodal

要將窗體作為無模式對話方塊顯示,請

2.使用不帶style引數的show方法。

例如:'將frmabout作為無模式對話方塊顯示。

注意如果窗體顯示為模式對話方塊,則只有當對話方塊關閉之後,在show方法後的**才能執行。然而,當窗體被顯示為無模式對話方塊時,在該窗體顯示出來以後,show方法後面的**緊接著就會執行。

show方法另有乙個可選引數,owner,可用來指定窗體的父子關係。可將某個窗體名傳給這個引數,使得這個窗體成為新窗體的擁有者。要顯示乙個窗體,作為另乙個窗體的子窗體,請

這裡show方法有兩個引數:style和owner。

例如:' 將frmabout顯示為frmmain的無模式子窗體。

vbmodeless, frmmain

在show方法中使用 owner 引數,確保對話方塊在它的父窗體最小化時它也最小化,或者在其父窗體關閉時它也解除安裝。

預定義對話方塊的使用

在應用程式中新增對話方塊最容易的方法是使用預定義對話方塊,因為不必考慮設計、裝載或者顯示對話方塊方面的問題。然而,控制項在其外觀上要受到限制。預定義的對話方塊總是模式的。

下表列出了 visual basic應用程式中新增預定義對話方塊時能使用的函式。

用輸入框來提示輸入

應用inputbox 函式請求提供資料。這個函式顯示要求輸入資料的模式對話方塊。圖 6.17 所示的文字輸入框提示輸入要開啟檔案的名稱。

以下**顯示圖 6.17 中所示的輸入框。

filename = inputbox("enter file to open:", "file open")

注意切記當使用 inputbox 函式時,對對話方塊的各部分的控制非常有限。只能改變標題欄中的文字、顯示給使用者的命令提示、對話方塊在螢幕上的位置以及它是否顯示乙個「幫助」按鈕。

詳細資訊請參閱《語言參考》的「inputbox 函式」。

用訊息對話方塊顯示資訊

可以用 msgbox 函式獲得「是」或者「否」的響應,並顯示簡短的訊息,比如:錯誤、警告或者對話方塊中的期待。看完這些訊息以後,可選取乙個按鈕來關閉該對話方塊。

如果檔案不能開啟,那麼名為 text editor 的應用程式就會顯示如圖 6.18 所示的訊息對話方塊。

以下**顯示如圖 6.18 所示的訊息框:

msgbox "error encountered while trying to open file, _

please retry.", vbexclamation, "text editor"

實驗5 1選單 工具欄和狀態列

1 建立乙個單文件應用程式ex sdi。在 檢視 選單下新增乙個子選單 滑鼠位置 id為id view mouse,當選擇該選單命令後,滑鼠當前的位置顯示到狀態列上,同時該選單項呈選中狀態。再次選擇該選單命令,狀態列不再顯示當前滑鼠位置,同時該選單項的選中狀態被去除。2 新增 學生成績列表 選單,點...

實習7選單與工具欄的建立與使用

一 實習目的 熟練掌握選單 工具欄的設計方法及步驟,能夠設計資料庫應用系統的選單與工具欄。二 實習要求 a 設計資料庫應用系統的主選單。b 設計快捷選單 c 設計資料庫應用系統的工具欄。三 實習內容 實習12 1 根據 河南工程學院學生資訊管理系統 的資料庫應用系統功能,設計並建立系統主選單。1.設...

電腦工具欄輸入法不顯示怎麼辦

電腦不顯示輸入法,很有可能是被病毒或者木馬修改導致啟動工作列不顯示輸入法,這個問題比較常見,也很棘手。這個屬於軟故障,通過防毒或者修改系統配置就可以解決桌面不顯示輸入法的問題,電腦工具欄輸入法不顯示怎麼辦呢?方法1 依次單擊 開始 設定 控制面板 開啟控制面板,在控制面板中單擊 日期 時間 語言和區...