Správce vizualizace
Je vizuální Správce objektu, který určuje vzhled celé aplikace.Jako jedna třída funguje, kam jste umístili výkresu kód pro vaši aplikaci.Knihovna MFC obsahuje několik vedoucích visual.Pokud chcete vytvořit vlastní zobrazení aplikace můžete také vytvořit vlastní vizuální správce.Následující obrázky ukazují stejné aplikace povoleno různé vizuální správce:
Aplikace, která používá správce visual CMFCVisualManagerWindows
Aplikace, která používá správce visual CMFCVisualManagerVS2005
Aplikace, která používá správce visual CMFCVisualManagerOfficeXP
Aplikace, která používá správce visual CMFCVisualManagerOffice2003
Aplikace, která používá správce visual CMFCVisualManagerOffice2007
Ve výchozím nastavení správce visual udržuje výkresu kód pro několik prvků grafického uživatelského rozhraní.Poskytnout vlastní prvky uživatelského rozhraní, je třeba přepsat související kreslicích metod správce visual.Seznam těchto metod naleznete v tématu Třída CMFCVisualManager.Metody, které můžete přepsat poskytnout vlastní vzhled, jsou všechny metody, které začínají OnDraw.
Aplikace může mít pouze jeden CMFCVisualManager objektu.Chcete-li získat ukazatel na vizuální správce aplikace, volání statické funkce CMFCVisualManager::GetInstance.Protože dědí všechny vizuální správce CMFCVisualManager, CMFCVisualManager::GetInstance Metoda získání ukazatele, na příslušné vizuální správce, i v případě, že vytvoříte vlastní vizuální správce.
Pokud chcete vytvořit vlastní vizuální správce, musí být odvozena od visual manager, který již existuje.Je výchozí třídu odvodit z CMFCVisualManager.Můžete však různé vizuální správce Pokud vypadal lépe vhodné pro vaši aplikaci.Například, pokud jste chtěli použít CMFCVisualManagerOffice2007 visual manager, ale chtěli pouze Změna vzhledu oddělovače, mohl by odvozovat z vaší vlastní třídu CMFCVisualManagerOffice2007.V tomto scénáři měli přepsat metody pro kreslení oddělovače.
Existují dva možné způsoby použití určité vizuální správce aplikace.Jedním ze způsobů je volat CMFCVisualManager::SetDefaultManager metoda a průchod odpovídající visual manager jako parametr.Následující příklad kódu ukazuje, jak by použít CMFCVisualManagerVS2005 visual manager při použití této metody:
CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005));
Způsob použití v aplikaci visual manager je vytvořit ručně.Aplikace pak bude používat tento nový vizuální správce pro vykreslení všech prvků.Nicméně vzhledem k tomu, že může existovat pouze jeden CMFCVisualManager objekt na aplikaci, budete muset odstranit aktuální visual manager vytvořit novou.V následujícím příkladu CMyVisualManager je vlastní vizuální správce, který je odvozen z CMFCVisualManager.Tato metoda se změní co visual manager slouží k zobrazení aplikace v závislosti na indexu:
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();
}