Exportar (0) Imprimir
Expandir todo

Ejemplo COLLECT: ilustra el uso de clases de colección MFC

Download sample

En el ejemplo COLLECT se ilustra el uso de muchas clases proporcionadas por la biblioteca Microsoft Foundation Class (MFC).

Security noteNota de seguridad

Este código de ejemplo se proporciona para ilustrar un concepto y no debe utilizarse en aplicaciones o sitios Web, ya que quizás no ilustre las prácticas de codificación más seguras. Microsoft no asume ninguna responsabilidad por daños incidentales o consecuentes en caso de que el código de ejemplo se utilice para propósitos distintos de aquellos para los que se concibió.

Generar y ejecutar el ejemplo

Para generar y ejecutar el ejemplo COLLECT

  1. Abra la solución collect.sln.

  2. En el menú Generar, haga clic en Generar.

  3. En el menú Depurar, haga clic en Iniciar sin depurar.

El menú Example muestra nueve ilustraciones de clase de la colección organizadas de acuerdo con la tabla siguiente. Cada ejemplo presenta una vista de formulario que realiza muchas operaciones de colección comunes de las colecciones:

  • Agregar un elemento nuevo

  • Insertar un elemento nuevo en la parte central de la lista.

  • Buscar un elemento (para ello, debe hacer clic en la entrada del elemento mostrada en el cuadro de lista del cuadro de diálogo).

  • Buscar una entrada en el mapa; para ello, debe escribir la clave y hacer clic en Find.

  • Actualizar el valor de un elemento.

  • Quitar un elemento.

  • Quitar todos los elementos de la colección.

Para guardar las modificaciones realizadas en todos los ejemplos, haga clic en el comando Save del menú File y vuelva a leerlos haciendo clic en el comando Open del menú File.

Clases de la colección MFC

Las clases de la colección MFC se pueden clasificar en función de su forma y diseño. MFC ofrece clases para tres tipos de formas de colección:

  • Listas

  • Matrices

  • Mapas

MFC también ofrece tres tipos de diseño:

  • Sin plantillas de C++.

  • Con una colección de elementos simples basados en plantillas de C++.

  • Con una colección de punteros con seguridad de tipos basados en plantillas de C++.

En la tabla siguiente se indican todas las clases de la colección MFC ordenadas por tipo de forma y tipo de diseño. En el ejemplo COLLECT se ilustran nueve de estas colecciones, una en cada celda de la tabla. Cada clase representa una combinación diferente de forma y diseño. Además, como el uso de colecciones basadas en las plantillas CTypedPtrArray y CTypedPtrList difiere en función de si se utilizan para contener punteros a objetos de la clase CObject o a objetos no derivados de esa clase, el ejemplo COLLECT ilustra ambos casos. Las nueve colecciones ilustradas por COLLECT se indican mediante un asterisco.

Formas de colección Sin utilizar plantillas Elementos simples basados en plantillas Punteros con seguridad de tipos basados en plantillas

Lista

CStringList*

CList*

CTypedPtrList

 

CObList

 

(de punteros)*

 

CPtrList

 

CTypedPtrList

 

 

 

(de objetos CObject)

Matriz

CByteArray

CArray*

CTypedPtrArray

 

CUIntArray

 

(de punteros)

 

CWordArray*

 

 

 

CDWordArray

 

CTypedPtrArray

 

CStringArray

 

(de objetos CObject)*

 

CPtrArray

 

 

 

CObArray

 

 

Mapa

CMapWordToPtr

CMap*

CTypedPtrMap*

 

CMapWordToOb

 

 

 

CMapStringToString*

 

 

 

CMapStringToPtr

 

 

 

CMapStringToOb

 

 

 

CMapPtrToWord

 

 

 

CMapPtrToPtr

 

 

Características adicionales de COLLECT

Además de ilustrar las clases de la colección de MFC, COLLECT también ilustra la forma de:

  • Coordinar la adición y eliminación de entradas en un cuadro de lista con la adición y eliminación de entradas en una colección.

  • Cambiar entre vistas diferentes de un documento (sólo se muestra una cada vez). Es decir, aunque COLLECT tiene muchas vistas diferentes, la interfaz es de un único documento (SDI), no de múltiples documentos (MDI).

Palabras clave

En este ejemplo, se muestra el uso de las siguientes palabras clave:

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

NoteNota

Algunos ejemplos, como éste, no se han modificado para reflejar los cambios en los asistentes, las bibliotecas y el compilador de Visual C++, pero, aun así, muestran cómo realizar la tarea deseada.

Vea también

Otros recursos

Ejemplos de MFC

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft