2009-10-27 9 views
5

Primero lo que quiero: la capacidad de mostrar una grilla con varias columnas, cada celda tiene una devolución de llamada de renderizado personalizada. Por lo tanto, puede usar dicho control para mostrar su inventario en un juego, o algo así como el comportamiento en Google Chrome, donde muestra una grilla de páginas populares que visita.¿Tiene MFC incorporado un control de cuadrícula?

He estado jugando con CListCtrl y aunque puedo obtener una capacidad de representación personalizada en cada elemento, no puedo hacer que funcione con columnas, por ejemplo, decir 3 elementos por fila. El control tiene métodos relacionados con columnas, pero creo que estos son específicamente para la funcionalidad incorporada, donde los atributos diferentes de un elemento se muestran automáticamente en cada columna ... no para proporcionar un control de grilla genérico.

Entonces, ¿existe tal funcionalidad en MFC? Si no, entonces me pregunto si el enfoque más fácil es que realmente inserte cada una de las filas como un Elemento ... y luego la representación personalizada dibuja las múltiples celdas en la fila, también podría hacer una interfaz de usuario personalizada para apoyar el clic en las celdas .

Pero lo que realmente quiero es poder crear un control personalizado, y agregar esto como un elemento a una lista, como en Flex por ejemplo, para que I/O, etc. se maneje automáticamente.

Cualquier consejo/información de bienvenida ...

Respuesta

2

No estoy al tanto de un control incorporado, pero creo que deberías echar un vistazo a this. El artículo describe en detalle la funcionalidad de un control de cuadrícula MFC con todas las funciones, derivado de CWnd, para mostrar datos tabulares.

+0

Me he encontrado con ese control; parece que probablemente hace lo que se quiere, pero podría ser difícil conseguirlo en nuestro proyecto. –

+0

Sin dolor, sin ganancia – luvieere

+0

Utilizo esto en una aplicación comercial. La implementación es fácil. Hubo algunos errores sutiles que tuvimos que arreglar. En general, es un gran control y completamente personalizable: tienes la fuente. –

1

YOUR_LIST_CONTROL .SetExtendedStyle (LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP | LVS_EX_GRIDLINES);

Creo que te ayudará

Cuestiones relacionadas