Ejemplo ROWLIST: muestra la selección de filas completas en vistas de lista
Actualización: noviembre 2007
En el ejemplo ROWLIST se ilustra la forma de seleccionar filas completas en un modo de informe de la clase de control común de MFC CListView. Se implementa una clase reutilizable, CListViewEx, que permite seleccionar filas completas como una vista adicional de un control de lista de vista. CListViewEx utiliza el modo de propietario del dibujo para realizar todas las operaciones de dibujo del control. Puede utilizar esta clase en sus propios proyectos, directamente o como una clase base. ROWLIST también ilustra la forma de utilizar imágenes de estado y de superposición con un control de lista de vista.
Nota 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ó. |
Para obtener ejemplos e instrucciones para su instalación:
En el menú Ayuda de Visual Studio, haga clic en Ejemplos.
Para obtener más información, vea Localizar archivos de ejemplo.
La lista de ejemplos completa con la versión más reciente está disponible en línea en la página Visual Studio 2008 Samples.
También encontrará ejemplos en el disco duro de su equipo. De manera predeterminada, los ejemplos y el archivo Léame se copian en una carpeta bajo \Archivos de programa\Visual Studio 9.0\Samples\. Para las versiones Express de Visual Studio, todos los ejemplos están en línea.
Generar y ejecutar el ejemplo
Para generar y ejecutar el ejemplo ROWLIST
Abra la solución rowlist.sln.
En el menú Generar, haga clic en Generar.
En el menú Depurar, haga clic en Iniciar sin depurar.
Cuando ejecuta ROWLIST, la aplicación presenta una aplicación con una interfaz de un único documento (SDI) cuya vista es una clase derivada de CListView. La vista tiene elementos que representan colores diferentes, con datos adicionales sobre ellos. El control de vista de lista aparece inicialmente en modo de informe, con la selección de filas completas habilitada. El menú View y la barra de herramientas permiten seleccionar otros modos de vista.
Las imágenes de estado se establecen inicialmente a un cuadrado vacío en el lado izquierdo de cada elemento. Si hace clic en una imagen de estado, la imagen del elemento se convertirá en un icono mostrado en la barra de título. Si no se muestran imágenes de estado, puede hacer doble clic en un elemento para cambiar su estado.
Clase CListViewEx
La clase CListViewEx derivada de CListView es una clase reutilizable que implementa el modo de selección de múltiples filas. La clase proporciona compatibilidad completa con el modo de dibujo del propietario de un control de vista de lista y selección de múltiples filas implementando el código de dibujo para todas las imágenes y etiquetas. CListViewEx muestra las imágenes y etiquetas de un control exactamente como en el modo de informe, con la característica adicional de selección de filas completas. La clase sólo tiene dos funciones miembro adicionales (en comparación con CListView): SetFullRowSel y GetFullRowSel. Estas funciones se utilizan para establecer o consultar el modo de selección de filas completas.
Puede reutilizar esta clase en sus propios proyectos, directamente o derivando una clase. La forma más sencilla de utilizar la clase es mediante el asistente para aplicaciones, con el fin de crear una aplicación con una clase derivada de CListView y después cambiar la clase base a CListViewEx.
Utilizar imágenes de estado y de superposición con una clase CListView
ROWLIST ilustra la forma de utilizar imágenes de estado y de superposición. Las imágenes de estado se establecen inicialmente a un cuadrado vacío en el lado izquierdo de cada elemento. Si hace clic en una imagen de estado, la imagen del elemento se convertirá en un icono mostrado en la barra de título. Como respuesta, el icono de estado del elemento cambiará a un cuadrado con una marca de verificación. CRowListView::OnLButtonDown contiene el código que inserta la marca de verificación en caso de que se seleccione un icono de estado, y que cambia el icono de estado de un elemento.
Si no se muestran imágenes de estado, se marcará la imagen utilizada actualmente con una imagen superpuesta sobre ella (un cuadrado gris con una marca de verificación). Puede hacer doble clic para cambiar el estado de un elemento, que también alterna el uso de una imagen superpuesta. El código de implementación para el doble clic se encuentra en CRowListView::OnLButtonDblClk.
Nota: |
---|
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. |