Delen via


Visualisatiebeheer

Visual Manager is een object dat het uiterlijk van een hele toepassing bepaalt. Het fungeert als één klasse waar u alle tekencode voor uw toepassing kunt plaatsen. De MFC-bibliotheek bevat verschillende visuele managers. U kunt ook uw eigen visualmanager maken als u een aangepaste weergave voor uw toepassing wilt maken. In de volgende afbeeldingen ziet u dezelfde toepassing wanneer verschillende visualmanagers zijn ingeschakeld:

MyApp zoals weergegeven door CMFCVisualManagerWindows.
MyApp die gebruikmaakt van de visual manager CMFCVisualManagerWindows

MyApp zoals weergegeven door CMFCVisualManagerVS2005.
MyApp die gebruikmaakt van de visuele manager CMFCVisualManagerVS2005

MyApp als weergegeven door CMFCVisualManagerOfficeXP.
MyApp die gebruikmaakt van de CMFCVisualManagerOfficeXP-visualmanager

MyApp zoals weergegeven door CMFCVisualManagerOffice2003.
MyApp die gebruikmaakt van de visual manager CMFCVisualManagerOffice2003

MyApp als weergegeven door CMFCVisualManagerOffice2007.
MyApp die gebruikmaakt van de visual manager CMFCVisualManagerOffice2007

Visual Manager onderhoudt standaard de tekencode voor verschillende GUI-elementen. Om aangepaste UI-elementen te bieden, moet u de gerelateerde tekenmethoden van de visual-manager overschrijven. Zie CMFCVisualManager Class voor de lijst met deze methoden. De methoden die u kunt overschrijven om een aangepast uiterlijk te bieden, zijn alle methoden waarmee u begint OnDraw.

Uw toepassing kan slechts één CMFCVisualManager object hebben. Roep de statische functie CMFCVisualManager::GetInstance aan om een aanwijzer te verkrijgen naar de visual manager voor uw toepassing. Omdat alle visualmanagers erven van CMFCVisualManager, krijgt de CMFCVisualManager::GetInstance-methode een pointer naar de juiste visualmanager, zelfs als u een aangepaste visualmanager maakt.

Als u een aangepast visualbeheer wilt maken, moet u deze afleiden uit een visualbeheerder die al bestaat. De standaardklasse waaruit moet worden afgeleid, is CMFCVisualManager. U kunt echter een andere visualmanager gebruiken als deze beter lijkt op wat u wilt voor uw toepassing. Als u bijvoorbeeld de CMFCVisualManagerOffice2007 visualmanager wilt gebruiken, maar alleen wilt wijzigen hoe scheidingstekens eruitzien, kunt u uw aangepaste klasse afleiden van CMFCVisualManagerOffice2007. In dit scenario moet u alleen de methoden voor het tekenen van scheidingstekens overschrijven.

Er zijn twee manieren om een specifieke visual manager voor uw toepassing te gebruiken. Een manier is om de methode CMFCVisualManager::SetDefaultManager aan te roepen en de juiste visual manager door te geven als parameter. In het volgende codevoorbeeld ziet u hoe u visual CMFCVisualManagerVS2005 manager gebruikt met deze methode:

CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005));

De andere manier om een visual manager in uw toepassing te gebruiken, is door deze handmatig te maken. De toepassing zal vervolgens deze nieuwe visuele beheerder gebruiken voor alle weergave. Omdat er echter slechts één CMFCVisualManager object per toepassing kan zijn, moet u de huidige visualmanager verwijderen voordat u een nieuw object maakt. In het volgende voorbeeld CMyVisualManager is een aangepast visueel beheer dat is afgeleid van CMFCVisualManager. Met de volgende methode wordt gewijzigd welke visual manager wordt gebruikt om uw toepassing weer te geven, afhankelijk van een index:

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();
}

Zie ook

Elementen van de gebruikersinterface
CMFCVisualManager-klasse