Menedżer wizualizacji
Wizualne manager jest obiektem, który steruje wyglądem całej aplikacji.Działa jako jedną klasę gdzie można umieścić rysunek kod aplikacji.Biblioteki MFC zawiera kilka menedżerów wizualne.Jeśli chcesz utworzyć widok niestandardowy dla aplikacji, można również utworzyć wizualne menedżera.Poniższe zdjęcia pokazują tej samej aplikacji po włączeniu różnych menedżerów wizualne:
MyApp, który używa Menedżer wizualne program CMFCVisualManagerWindows
MyApp, który używa Menedżer wizualne program CMFCVisualManagerVS2005
MyApp, który używa Menedżer wizualne program CMFCVisualManagerOfficeXP
MyApp, który używa Menedżer wizualne program CMFCVisualManagerOffice2003
MyApp, który używa Menedżer wizualne program CMFCVisualManagerOffice2007
Domyślnie Menedżer visual zapisuje rysunku kod dla kilku elementów graficznego interfejsu użytkownika.Aby udostępnić niestandardowe elementy interfejsu użytkownika, należy zastąpić odpowiednich metod rysunkowych visual menedżera.Aby uzyskać listę tych metod, zobacz Klasa CMFCVisualManager.Metody, które można zastąpić niestandardowy wygląd są wszystkie metody, które zaczynają się OnDraw.
Aplikacja może mieć tylko jeden CMFCVisualManager obiektu.Aby uzyskać wskaźnik do wizualnej Menedżera aplikacji, wywołania funkcji statycznej CMFCVisualManager::GetInstance.Ponieważ dziedziczy wszystkich menedżerów visual CMFCVisualManager, CMFCVisualManager::GetInstance metoda rozpocznie się wskaźnik odpowiednie Menedżer wizualne, nawet jeśli utworzyć niestandardowy Menedżer wizualne.
Jeśli chcesz utworzyć niestandardowy Menedżer wizualne, musi pochodzić go od visual menedżera, który już istnieje.Jest domyślna klasa ma być z CMFCVisualManager.Jednak można użyć innego menedżera visual Jeśli lepiej przypomina ma dla danej aplikacji.Na przykład, jeśli chce się użyć CMFCVisualManagerOffice2007 manager wizualne, ale chciałem tylko zmienić wygląd separatory, może pochodzić z niestandardowej klasy z CMFCVisualManagerOffice2007.W tym scenariuszu należy zastąpić tylko metody służące do rysowania separatory.
Istnieją dwa możliwe sposoby używania określonym Menedżera wizualne dla aplikacji.Jednym ze sposobów jest wywołanie CMFCVisualManager::SetDefaultManager metody i wydać odpowiednie Menedżera wizualne jako parametr.Poniższy przykład kodu pokazuje, jak można użyć CMFCVisualManagerVS2005 wizualne manager przy użyciu tej metody:
CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005));
Ręczne tworzenie jest inny sposób używać Menedżera wizualnych w aplikacji.Aplikacja użyje tego nowego Menedżera wizualne dla renderowanie wszystkich.Jednakże ponieważ może istnieć tylko jeden CMFCVisualManager obiektu na jeden wniosek, trzeba będzie usunąć bieżącego Menedżera wizualne, przed utworzeniem nowego.W poniższym przykładzie CMyVisualManager jest menedżerem programu visual niestandardowego jest pochodną CMFCVisualManager.Następująca metoda ulegną zmianie, co Menedżer wizualne jest używany do wyświetlania aplikacji, w zależności od indeksu:
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();
}