共用方式為


視覺化管理員

視覺管理員是一個物件,控制整個應用程式的外觀。 它可以當做單一類別您可以為應用程式放置繪圖的程式碼。 MFC 程式庫包含了數個視覺管理員。 如果您想要建立自訂檢視您的應用程式,您也可以建立您自己的視覺管理員。 啟用不同的視覺管理員時,所以下列影像顯示同一個應用程式:

使用 CMFCVisualManagerWindows 的視覺管理員 MyApp

由 CMFCVisualManagerWindows 呈現的 MyApp

使用 CMFCVisualManagerVS2005 的視覺管理員 MyApp

由 CMFCVisualManagerVS2005 呈現的 MyApp

使用 CMFCVisualManagerOfficeXP 的視覺管理員 MyApp

由 CMFCVisualManagerOfficeXP 呈現的 MyApp

使用 CMFCVisualManagerOffice2003 的視覺管理員 MyApp

由 CMFCVisualManagerOffice2003 呈現的 MyApp

使用 CMFCVisualManagerOffice2007 的視覺管理員 MyApp

由 CMFCVisualManagerOffice2007 呈現的 MyApp

根據預設,視覺化管理員會維護 GUI 的幾個元素的繪圖程式碼。 若要提供自訂的 UI 項目,您需要覆寫的視覺管理員相關繪圖的方法。 這些方法的清單,請參閱CMFCVisualManager 類別。 您可以覆寫以提供自訂外觀的方法會以開頭的所有方法OnDraw。

您的應用程式只能有一個CMFCVisualManager物件。 若要取得您的應用程式的視覺化管理員的指標,呼叫的靜態函式CMFCVisualManager::GetInstance。 因為所有的視覺管理員繼承自CMFCVisualManagerCMFCVisualManager::GetInstance方法會取得指標至適當的視覺管理員,即使您建立自訂的視覺管理員。

如果您想要建立自訂的視覺管理員,您必須從視覺化的專案經理已經存在於衍生它。 是預設的類別衍生自CMFCVisualManager。 不過,您可以使用不同的視覺管理員,如果看起來更像您想為您的應用程式。 比方說,如果您想要納入CMFCVisualManagerOffice2007視覺管理員] 中,但希望只變更分隔頁的外觀,您可以衍生自訂類別從CMFCVisualManagerOffice2007。 在這個案例中,您應該要覆寫方法來繪製分隔符號。

有兩個可能的方法可以使用於您的應用程式的特定視覺管理員。 若要呼叫一個方法是CMFCVisualManager::SetDefaultManager方法,並傳遞適當的視覺管理員做為參數。 下列程式碼範例會示範如何使用CMFCVisualManagerVS2005視覺管理員,透過這種方法:

CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005));

若要手動建立是相反才以應用於您的應用程式的視覺管理員。 應用程式會將所有呈現用於此新的視覺管理員。 不過,因為可以只是下列其中一CMFCVisualManager每個應用程式,您必須刪除目前的視覺化管理員,才能建立一個新物件。 在下列範例中, CMyVisualManager是自訂的視覺管理員是衍生自CMFCVisualManager。 下列方法將會變更何種視覺化管理員用來顯示您的應用程式,取決於索引:

void CMyApp::SetSkin (int index)
{
   if (CMFCVisualManager::GetInstance() != NULL)
   {
      delete CMFCVisualManager::GetInstance();
   }

   switch (index)
   {
   case DEFAULT_STYLE:
      // The following statement creates a new CMFCVisualManager
      CMFCVisualManager::GetInstance();
      break;

   case CUSTOM_STYLE:
      new CMyVisualManager;
      break;

   default:
      CMFCVisualManager::GetInstance();
      break;
   }

   CMFCVisualManager::GetInstance()->RedrawAll();
}

請參閱

參考

CMFCVisualManager 類別

其他資源

使用者介面