Condividi tramite


Esempio COLLECT: illustrazione delle classi Collection MFC

Aggiornamento: novembre 2007

Nell'esempio COLLECT viene illustrata un'ampia varietà di classi Collection offerte dalla libreria MFC (Microsoft Foundation Class).

Nota sulla sicurezza:

Questo esempio di codice viene fornito solo a scopo dimostrativo e non deve essere utilizzato in applicazioni o siti Web, poiché potrebbe non implementare le tecniche migliori a livello di sicurezza. Microsoft esclude ogni responsabilità per danni diretti o indiretti derivanti dall'utilizzo dell'esempio di codice per scopi diversi da quelli previsti.

Per ottenere gli esempi e le istruzioni per l'installazione:

  • In Visual Studio scegliere Esempi dal menu ?.

    Per ulteriori informazioni, vedere Individuazione dei file di esempio.

  • La versione più recente e l'elenco completo degli esempi sono disponibili in linea alla pagina Visual Studio 2008 Samples.

  • È anche possibile trovare gli esempi sul disco rigido del computer. Per impostazione predefinita, gli esempi e il file Leggimi vengono copiati in una cartella nel percorso \Programmi\Visual Studio 9.0\Samples\. Per le versioni Express di Visual Studio, tutti gli esempi sono disponibili in linea.

Generazione ed esecuzione dell'esempio

Per generare ed eseguire l'esempio COLLECT

  1. Aprire il file di soluzione collect.sln.

  2. Scegliere Genera dal menu Genera.

  3. Scegliere Avvia senza eseguire debug dal menu Debug.

Nel menu Example vengono elencate nove illustrazioni di classi Collection organizzate in base alla tabella riportata di seguito. In ciascun esempio è presentata una visualizzazione form in cui vengono eseguite numerose operazioni comuni sugli insiemi:

  • Aggiunta di un nuovo elemento.

  • Inserimento di un nuovo elemento al centro dell'elenco.

  • Ricerca di un elemento facendo clic sulla relativa voce nella casella di riepilogo della finestra di dialogo.

  • Ricerca di una voce nella mappa, immettendo la parola chiave e facendo clic su Find.

  • Aggiornamento del valore di un elemento.

  • Rimozione di un elemento.

  • Rimozione di tutti gli elementi dell'insieme.

È possibile salvare le modifiche apportate a tutti gli esempi scegliendo Save dal menu File e rileggerle scegliendo Open dal menu File.

Classi Collection MFC

Le classi Collection MFC possono essere classificate in base alla forma e alla progettazione. MFC offre classi per tre tipi di forme di insiemi:

  • Elenchi

  • Matrici

  • Mappe

MFC offre anche tre tipi di progettazione:

  • Nessun utilizzo di modelli C++.

  • Utilizzo di un insieme basato su modelli C++ di elementi semplici.

  • Utilizzo di un insieme basato su modelli C++ di puntatori indipendenti dai tipi.

Nella tabella riportata di seguito vengono elencate tutte le classi Collection MFC ordinate in base alla forma e alla progettazione. Nell'esempio COLLECT ne vengono illustrate nove, uno da ciascuna cella della tabella. Ciascuna classe rappresenta una combinazione diversa di forma e progettazione. Inoltre, poiché l'utilizzo degli insiemi basati su template CTypedPtrArray e CTypedPtrList differisce se vengono utilizzati per contenere puntatori a CObjects o a non CObject, nell'esempio COLLECT vengono illustrati entrambi i casi. I nove insiemi illustrati in COLLECT sono indicati con un asterisco.

Forme degli insiemi

Non basati su template

Elementi semplici basati su template

Puntatori indipendenti dai tipi basati su template

Elenco

CStringList*

CList*

CTypedPtrList

 

CObList

 

(di puntatori)*

 

CPtrList

 

CTypedPtrList

 

 

 

(di CObjects)

Matrice

CByteArray

CArray*

CTypedPtrArray

 

CUIntArray

 

(di puntatori)

 

CWordArray*

 

 

 

CDWordArray

 

CTypedPtrArray

 

CStringArray

 

(di CObjects)*

 

CPtrArray

 

 

 

CObArray

 

 

Mappa

CMapWordToPtr

CMap*

CTypedPtrMap*

 

CMapWordToOb

 

 

 

CMapStringToString*

 

 

 

CMapStringToPtr

 

 

 

CMapStringToOb

 

 

 

CMapPtrToWord

 

 

 

CMapPtrToPtr

 

 

Funzionalità COLLECT aggiuntive

Oltre alle classi Collection MFC, in COLLECT viene illustrato quanto segue:

  • Coordinamento dell'aggiunta e della rimozione di voci in una casella di riepilogo con l'aggiunta e la rimozione di voci in un insieme.

  • Passaggio da una visualizzazione di un documento all'altra, attivandone una sola alla volta. Sebbene in COLLECT siano disponibili diverse visualizzazioni, infatti, l'esempio è un'applicazione SDI (single document interface) e non MDI (multiple document interface).

Parole chiave

Nell'esempio vengono illustrate le seguenti parole chiave:

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

Nota:

Alcuni esempi, tra cui il presente, non sono stati cambiati per riflettere le modifiche apportate alle procedure guidate, alle librerie e al compilatore di Visual C++, tuttavia forniscono comunque le istruzioni per completare l'attività desiderata.

Vedere anche

Altre risorse

Esempi relativi ad MFC