MDIDOCVW-Beispiel: Demonstriert MDI mit Verwendung der Doc/View-Architektur

Aktualisiert: November 2007

Das MDIDOCVW-Beispiel verwendet die MDI-Unterstützung (Multiple Document Interface) von MFC sowie die Dokument-/Ansichtarchitektur. Es enthält die Dokumenttypen Hello (zeigt eine Zeichenfolge in einer Ansicht an) und Bounce (zeigt einen hüpfenden, farbigen Ball in einer Ansicht an). Darüber hinaus werden in der MDIDOCVW-Beispielanwendung der Microsoft Windows-Zeitgeber, CColorDialog, CBitmap und das Ändern des Standardcursors eines Fensters demonstriert.

Die MDIDOCVW-Beispielanwendung stellt ein übergeordnetes Fenster bereit, in dem sich zwei verschiedene untergeordnete MDI-Fenster befinden: Ein Fenster mit der Bezeichnung Bounce, in dem sich ein hüpfender Ball befindet, und ein Fenster mit der Bezeichnung Hello, in dem einfach nur der Text "Hello, World!" angezeigt wird.

Ein Beispiel, das die MDI-Unterstützung ohne Dokument-/Ansichtarchitektur verwendet, finden Sie unter MDI.

Sicherheitshinweis:

Dieser Beispielcode dient dazu, ein Konzept zu veranschaulichen. Er sollte nicht für Anwendungen oder Websites verwendet werden, da dieser Code unter Umständen nicht die sicherste Codierungstechnik darstellt. Microsoft übernimmt keine Haftung für beiläufig entstandene Schäden oder Folgeschäden, falls der Beispielcode nicht bestimmungsgemäß verwendet wird.

So rufen Sie Beispiele und Anweisungen für ihre Installation ab

  • Klicken Sie in Visual Studio im Menü Hilfe auf Beispiele.

    Weitere Informationen finden Sie unter Suchen von Beispieldateien.

  • Die neueste Version und vollständige Liste mit Beispielen ist online unter Visual Studio 2008 Samples verfügbar.

  • Sie können auch Beispiele auf der Festplatte des Computers suchen. Standardmäßig werden Beispiele und eine Infodatei in einen Ordner unter \Programme\Visual Studio 9.0\Samples\ kopiert. Für Express Editions von Visual Studio sind alle Beispiele online verfügbar.

Erstellen und Ausführen des Beispiels

So erstellen Sie das MDIDOCVW-Beispiel und führen es aus

  1. Öffnen Sie die Projektmappe mdi.sln.

  2. Klicken Sie im Menü Erstellen auf Erstellen.

  3. Klicken Sie im Menü Debuggen auf Starten ohne Debuggen.

Klicken Sie im Menü File auf New Bounce bzw. New Hello, um ein neues untergeordnetes MDI-Fenster zu erstellen. Welche Menüs angezeigt werden, richtet sich nach dem jeweils aktiven untergeordneten MDI-Fenster. In beiden Fenstertypen steht ein Menü mit der Bezeichnung Color zur Verfügung. Wenn Sie aus diesem Menü eine Farbe auswählen, wird die Farbe des hüpfenden Balls bzw. des "Hello"-Texts entsprechend aktualisiert. Wählen Sie die Option Custom, um das Dialogfeld Farben aufzurufen, in dem Sie dann eine benutzerdefinierte Farbe auswählen können.

Im Fenster Bounce steht das Menü Speed zur Verfügung, in dem Sie die Geschwindigkeit festlegen können, mit der sich der Ball über den Bildschirm bewegen soll.

Die meisten Menübefehle können auch über eine Symbolleiste aufgerufen werden. Außerdem implementiert diese Symbolleiste Kontrollkästchen für die fünf Grundfarben.

Ändern des Standardcursors

Obwohl sowohl CBounceView als auch CHelloView den Befehl Erstellen überschreiben, ist diese Überschreibung nicht notwendig, um die Vorteile der MDI-Unterstützung des Frameworks zu nutzen. Die Überschreibung von Erstellen, die sich in der CBounceView-Klasse befindet, demonstriert das Ändern des Standardcursors. Zum Ändern des Standardcursors eines Fensters ist die Registrierung einer neuen WNDCLASS erforderlich. Dazu müssen Sie AfxRegisterWndClass aufrufen und den Namen der WNDCLASS in diesem Aufruf übergeben.

Schlüsselwörter

Dieses Beispiel demonstriert die Verwendung der folgenden Schlüsselwörter:

AfxRegisterWndClass; CBitmap::CreateCompatibleBitmap; CCmdUI::SetCheck; CColorDialog::DoModal; CColorDialog::GetColor; CDC::BitBlt; CDC::CreateCompatibleDC; CDC::DeleteDC; CDC::DrawText; CDC::Ellipse; CDC::FillRect; CDC::GetDeviceCaps; CDC::SelectObject; CDC::SetBkColor; CDC::SetTextColor; CFrameWnd::LoadFrame; CFrameWnd::rectDefault; CGdiObject::DeleteObject; CMDIChildWnd::Create; CWinApp::InitInstance; CWnd::DestroyWindow; CWnd::GetClientRect; CWnd::GetCurrentMessage; CWnd::GetDC; CWnd::KillTimer; CWnd::MessageBox; CWnd::OnCreate; CWnd::OnSize; CWnd::OnTimer; CWnd::ReleaseDC; CWnd::SetTimer; CWnd::ShowWindow; CWnd::UpdateWindow; GetSysColor; LOWORD; RGB; max; min

Hinweis:

In diesem und einigen anderen Beispielen wurden die Änderungen an den Visual C++-Assistenten, -Bibliotheken und -Compilern noch nicht nachvollzogen. Sie demonstrieren aber dennoch, wie Sie die gewünschte Aufgabe durchführen können.

Siehe auch

Weitere Ressourcen

MFC-Beispiele