工具列主要資料

本文將告訴您執行 MFC 的主要可讓您新增到您的應用程式的預設工具列,在應用程式精靈中選取選項。涵蓋的主題包括:

  • 應用程式精靈的 [工具列] 選項

  • 在程式碼中的工具列

  • 工具列資源編輯

  • 多個工具列

應用程式精靈的工具列選項

若要取得單一具有預設按鈕的工具列,請選取 [標示為 [使用者介面功能] 頁面上的 [標準停駐] 工具列選項。如此會將程式碼加入您的應用程式的:

  • 建立工具列物件。

  • 管理包括要停駐或浮動的工具列。

在程式碼中的工具列

工具列是 CToolBar 物件宣告為資料成員是應用程式的 CMainFrame 類別。換言之,工具列物件被內嵌在主框架視窗物件。這表示 MFC 會建立工具列時建立框架視窗終結時它會終結框架視窗的工具列。下列的部分類別宣告中的多個文件介面 (MDI) 應用程式中,會顯示內嵌的工具列和內嵌的狀態列的資料成員。它也會顯示的覆寫OnCreate成員函式。

class CMainFrame : public CMDIFrameWnd
{
// Implementation
protected:  // control bar embedded members
   CStatusBar  m_wndStatusBar;
   CToolBar    m_wndToolBar;

// Generated message map functions
protected:
   afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
   DECLARE_MESSAGE_MAP()

工具列的建立,就會發生在 CMainFrame::OnCreate。MFC 呼叫 OnCreate 之後建立視窗框架,但它會變成看得見。預設值OnCreate應用程式精靈會產生示範下列工具列工作:

  1. 呼叫CToolBar物件的建立成員函式來建立基礎 CToolBarCtrl 物件。

  2. 呼叫 LoadToolBar 載入工具列資源的資訊。

  3. 呼叫函式以啟用停駐、 浮動和工具提示。如需有關這些呼叫的詳細資訊,請參閱文章停駐和浮動的工具列

注意事項注意事項

MFC 一般範例 DOCKTOOL 包含舊與新的 MFC 工具列的說明。使用工具列 COldToolbar 需要呼叫在步驟 2 到LoadBitmap (而不是LoadToolBar) 及 [至SetButtons。新的工具列需要呼叫LoadToolBar

停駐、 浮動和工具提示是選擇性的。您可以移除這些行,從OnCreate如果您想要的話。結果是會保持固定、 無法浮動、 變換位置和顯示工具提示的工具列。

工具列資源編輯

您可以從應用程式精靈的 [預設] 工具列根據 RT_TOOLBAR MFC 4.0 版中介紹的自訂資源。您可以編輯這個資源與工具列編輯器。在編輯器] 可讓您輕鬆地新增、 刪除及重新整理按鈕。它包含在 Visual C++ 中一般圖形編輯器類似於按鈕的圖形化編輯器。如果您編輯工具列,在舊版的 Visual C++ 中,您會發現工作更加容易現在。

若要連線到一個指令的工具列按鈕,您提供按鈕命令 ID,例如ID_MYCOMMAND。在工具列編輯器] 按鈕的屬性頁中指定的命令 ID。@ 您的命令處理函式 (請參閱訊息對應到函式如需詳細資訊)。

CToolBar 成員函式會使用與 RT_TOOLBAR 資源。LoadToolBar 現在會取代 LoadBitmap 載入點陣圖] 工具列的按鈕影像,以及 SetButtons 設定按鈕樣式,並經由點陣圖影像的按鈕。

如需有關使用工具列編輯器的詳細資訊,請參閱工具列編輯器

多個工具列

應用程式精靈為您提供一個預設的工具列。如果您需要一個以上的工具列,在您的應用程式中,您可以建立其他工具列程式精靈所產生的程式碼,替預設工具列上的程式碼模型。

如果您想要顯示工具列命令的結果,您必須:

  • 使用工具列編輯器建立新的工具列資源,並將其在載入OnCreateLoadToolbar 成員函式。

  • 內嵌新的 CToolBar 在主框架視窗類別中的物件。

  • 產生適當的函式呼叫中OnCreate來停駐或浮動工具列、 設定其樣式,依此類推。

f9hbax0b.collapse_all(zh-tw,VS.110).gif您還想知道關於哪些方面的詳細資訊?

請參閱

概念

MFC 的工具列實作