Visualisierungs-Manager
Der visuelle Manager ist ein Objekt, das die Darstellung einer vollständigen Anwendung gesteuert wird.Es dient als eine einzelne Klasse, in der Sie den gesamten Code zum Zeichnen der Anwendung einfügen können.Die MFC-Bibliothek enthält mehrere visuelle Manager.Sie können einen eigenen visuellen Manager auch wenn Sie eine benutzerdefinierte Ansicht für die Anwendung erstellen möchten.Die folgenden Bilder zeigen die gleiche Anwendung an, wenn verschiedene visuelle Manager aktiviert werden:
MyApp, das den CMFCVisualManagerWindows-Sichtbarmachungs verwendet Manager
MyApp, das den Manager der visuellen Objekts verwendete CMFCVisualManagerVS2005
MyApp, das den CMFCVisualManagerOfficeXP-Sichtbarmachungs verwendet Manager
MyApp, das den Manager der visuellen Objekts verwendete CMFCVisualManagerOffice2003
MyApp, das den Manager der visuellen Objekts verwendete CMFCVisualManagerOffice2007
Standardmäßig wird der visuellen Manager Code zum Zeichnen der Reihe GUI-Elemente bei.Um benutzerdefinierte Benutzeroberflächenelemente bereitstellen, müssen Sie die zugehörigen Methoden zum Zeichnen von visuellen managers überschreiben.Für die Liste dieser Methoden finden Sie CMFCVisualManager-Klasse.Die Methoden, die Sie überschreiben können, um eine benutzerdefinierte Darstellung zur Verfügung zu stellen, sind alle Methoden, die mit OnDraw starten.
Die Anwendung kann nur ein CMFCVisualManager-Objekt verfügen.Um ein Zeiger auf den visuellen Manager für Ihre Anwendung abzurufen, rufen Sie die statische Funktion CMFCVisualManager::GetInstance an.Da alle visuellen Manager von CMFCVisualManager erben, ruft die CMFCVisualManager::GetInstance-Methode einen Zeiger auf den entsprechenden visuellen Manager, auch wenn Sie einen benutzerdefinierten visuellen Manager erstellen.
Wenn Sie einen benutzerdefinierten visuellen Manager erstellen möchten, müssen Sie sie von einem visuellen Manager berechnen, der bereits vorhanden ist.Die Standardklasse, um zu berechnen ist CMFCVisualManager.Sie können jedoch einen anderen visuellen Manager verwenden, wenn sie besser entspricht, was Sie für Ihre Anwendung benötigen.Wenn Sie beispielsweise den CMFCVisualManagerOffice2007 visuellen Manager zu verwenden, aber nur gewünscht ändern, wie Kommas aussehen, können Sie Ihre benutzerdefinierte Klasse von CMFCVisualManagerOffice2007 berechnen.In diesem Szenario sollten Sie nur die Methoden zum Zeichnen von Trennzeichen überschreiben.
Es gibt zwei mögliche Möglichkeiten, einen bestimmten visuellen Manager für Ihre Anwendung verwendet werden sollen.Eine Möglichkeit besteht darin, die CMFCVisualManager::SetDefaultManager-Methode aufrufen und den entsprechenden visuellen Manager als Parameter zu übergeben.Das folgende Codebeispiel zeigt, wie Sie den CMFCVisualManagerVS2005 visuellen Manager mit dieser Methode verwenden können:
CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005));
Die andere Möglichkeit, einen visuellen Manager in der Anwendung zu verwenden, besteht darin, sie manuell zu erstellen.Die Anwendung verwendet dann den neuen visuellen Manager für alle Rendering.Da es nur ein CMFCVisualManager-Objekt pro Anwendung bereitstellen kann, müssen Sie den aktuellen visuellen Manager löschen, bevor Sie eine neue Abfrage erstellen.Im folgenden Beispiel ist CMyVisualManager ein benutzerdefinierter visuellen Manager, der von CMFCVisualManager abgeleitet ist.Die folgende Methode ändert, welche visuellen Manager verwendet wird, um Ihre Anwendung anzuzeigen, je nach einem 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();
}