Freigeben über


COLLECT-Beispiel: Demonstriert MFC-Auflistungsklassen

Aktualisiert: November 2007

Das COLLECT-Beispiel veranschaulicht zahlreiche der von der Microsoft Foundation Class Library (MFC) bereitgestellten Auflistungsklassen.

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 COLLECT-Beispiel und führen es aus

  1. Öffnen Sie die Projektmappe collect.sln.

  2. Klicken Sie im Menü Erstellen auf Erstellen.

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

Das Menü Beispiel führt neun Darstellungen von Auflistungsklassen auf, die entsprechend der folgenden Tabelle organisiert sind. Jedes Beispiel stellt eine Formularansicht bereit, die verschiedene gebräuchliche Auflistungsoperationen erläutert:

  • Hinzufügen eines neuen Elements.

  • Einfügen eines neuen Elements in der Mitte einer Liste.

  • Suchen eines Elements (durch Klicken auf seinen Eintrag im Listenfeld des Dialogfelds).

  • Suchen eines Eintrags in der Tabelle durch Eingabe des Schlüssels und Klicken auf Suchen.

  • Aktualisieren des Werts eines Elements.

  • Entfernen eines Elements.

  • Entfernen aller Elemente einer Auflistung.

Sie können Änderungen an allen Beispielen speichern, indem Sie im Menü Datei auf Speichern klicken, und sie einlesen, indem Sie im Menü Datei auf Öffnen klicken.

MFC-Auflistungsklassen

Die MFC-Auflistungsklassen können entsprechend ihrer Form und ihres Entwurfs klassifiziert werden. MFC stellt Klassen für drei Typen von Auflistungsformen bereit:

  • Listen

  • Arrays

  • Zuordnungen

MFC stellt auch drei Entwurfstypen bereit:

  • Keine Verwendung von C++-Vorlagen.

  • Verwendung einer auf C++-Vorlagen basierenden Auflistung einfacher Elemente.

  • Verwendung einer auf C++-Vorlagen basierenden Auflistung typsicherer Zeiger.

Die folgende Tabelle stellt alle MFC-Auflistungsklassen, sortiert nach Form und Entwurf, dar. Das COLLECT-Beispiel veranschaulicht neun dieser Auflistungen, eine aus jeder Zelle der Tabelle. Jede steht für eine bestimmte Kombination von Form und Entwurf. Da die Verwendung der vorlagenbasierten Auflistungen CTypedPtrArray und CTypedPtrList unterschiedlich ist, je nachdem, ob sie zum Speichern von Zeigern zu CObjects oder anderen Objekten als CObjects verwendet werden, veranschaulicht das COLLECT-Beispiel darüber hinaus beide Klassen. Die neun in COLLECT veranschaulichten Auflistungen sind mit einem Sternchen gekennzeichnet.

Auflistungsformen

Nicht vorlagenbasiert

Einfache vorlagenbasierte Elemente

Vorlagenbasierte typsichere Zeiger

Liste

CStringList*

CList*

CTypedPtrList

 

CObList

 

(von Zeigern)*

 

CPtrList

 

CTypedPtrList

 

 

 

(von CObjecten)

Array

CByteArray

CArray*

CTypedPtrArray

 

CUIntArray

 

(von Zeigern)

 

CWordArray*

 

 

 

CDWordArray

 

CTypedPtrArray

 

CStringArray

 

(von CObject-Objekten)*

 

CPtrArray

 

 

 

CObArray

 

 

Zuordnung

CMapWordToPtr

CMap*

CTypedPtrMap*

 

CMapWordToOb

 

 

 

CMapStringToString*

 

 

 

CMapStringToPtr

 

 

 

CMapStringToOb

 

 

 

CMapPtrToWord

 

 

 

CMapPtrToPtr

 

 

Weitere COLLECT-Features

Neben den MFC-Auflistungsklassen veranschaulicht COLLECT Folgendes:

  • Die Koordinierung des Hinzufügens sowie Entfernens von Einträgen in einem Listenfeld mit dem Hinzufügen sowie Entfernen von Einträgen in einer Auflistung.

  • Das Wechseln zwischen unterschiedlichen Ansichten eines Dokuments, wobei jeweils nur eine sichtbar ist. Der Grund dafür ist, dass COLLECT zwar mehrere Ansichten besitzt, statt einer mehrfachen Dokumentschnittstelle (MDI) jedoch nur eine einfache Dokumentschnittstelle (SDI) besitzt.

Schlüsselwörter

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

AfxMessageBox; CCmdUI::SetCheck; CControlBar::EnableDocking; CDialog::DoModal; CDocument::DeleteContents; CDocument::OnNewDocument; CFrameWnd::DockControlBar; CFrameWnd::EnableDocking; CFrameWnd::GetActiveDocument; CFrameWnd::GetActiveView; CFrameWnd::RecalcLayout; CFrameWnd::SetActiveView; CListBox::AddString; CListBox::DeleteString; CListBox::FindString; CListBox::GetCurSel; CListBox::GetItemData; CListBox::GetItemDataPtr; CListBox::GetText; CListBox::InsertString; CListBox::ResetContent; CListBox::SetItemData; CListBox::SetItemDataPtr; CObject::AssertValid; CObject::Dump; CObject::Serialize; CStatusBar::Create; CStatusBar::SetIndicators; CString::Empty; CString::Format; CString::LoadString; CToolBar::Create; CToolBar::LoadBitmap; CToolBar::SetButtons; CView::DoPreparePrinting; CView::GetDocument; CView::OnBeginPrinting; CView::OnDraw; CView::OnEndPrinting; CView::OnInitialUpdate; CView::OnPreparePrinting; CView::OnUpdate; CWinApp::AddDocTemplate; CWinApp::InitInstance; CWinApp::LoadStdProfileSettings; CWinApp::OnFileNew; CWnd::DestroyWindow; CWnd::DoDataExchange; CWnd::OnCreate; CWnd::ShowWindow; CWnd::UpdateData; LoadString; SetWindowLong

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