varias multicolumn mostrar columnas c++ windows listbox

c++ - mostrar - ¿Cómo crear un Listbox multicolumna?



listbox multicolumn c# (4)

Estoy trabajando en un programa, que debe enumerar todos los archivos y su tamaño (por ahora ...). Creé una aplicación simple, que debería escribir los datos en un cuadro de lista. Intento escribir los datos en dos columnas (la primera debe ser el nombre, y junto a ella, en otra columna, su tamaño), pero no puedo entender cómo debo hacerlo. ¿Alguien me puede ayudar?

¡Gracias por adelantado!

kampi

Actualizar:

Intento usar ListControl. Pero desafortunadamente no puedo. Puedo compilar con éxito mi aplicación, pero solo puedo ver el rectángulo vacío. ¿Alguien sabe lo que estoy haciendo mal?

BOOL CGetFileListDlg::OnInitDialog() { CDialog::OnInitDialog(); // Set the icon for this dialog. The framework does this automatically // when the application''s main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here LVITEM lvItem; LVCOLUMN lvColumn; int nCol; lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH; lvColumn.fmt = LVCFMT_CENTER; lvColumn.cx = 10; lvColumn.pszText = _T("Filename"); ListView_InsertColumn( m_List, 0, &lvColumn ); ListView_SetItemText( m_List, 0, 0, _T("TEST") ); return TRUE; // return TRUE unless you set the focus to a control }



Tal vez para utilizar DataGridView con el objeto como fuente de datos.


Tres parámetros importantes que deben verificarse son

  1. List Box o List Control (se usará List Control)
  2. El parámetro de visualización debe ser el modo de informe
  3. Los datos del propietario deben establecerse en False. La captura de pantalla muestra estos

El flujo de programación para agregar datos al control de la lista es Cambiar la lista Control a la vista de lista extendida ( ListView_SetExtendedListViewStyle ), Crear el diseño (Al agregar columnas), Agregar datos del elemento (por cada fila necesaria) y agregar finalmente agregar subelemento a cada columna (para cada elemento de datos agregado previamente).


El control de cuadro de lista admite varias columnas, pero solo admite una sola serie de entradas; el soporte de columna múltiple solo hace que los artículos continúen en las siguientes columnas para que no sea necesario el desplazamiento vertical.

Como ha sugerido Kornel, un control de vista de lista puede ser más apropiado. Después de crear un control de vista de lista, use ListView_InsertColumn para crear las columnas. Luego use ListView_SetItemText para insertar elementos.

EDIT: mis apoligies; debe usar ListView_InsertItem para insertar un elemento (una fila) y luego usar ListView_SetItemText para alterar los subelementos (columnas). Si la vista de lista sigue siendo solo una casilla en blanco sin encabezados, ¿ha inicializado controles comunes? Esto se puede hacer utilizando InitCommonControlsEx , especificando la constante ICC_LISTVIEW_CLASSES . Esto debe hacerse antes de crear el control.

Consulte la documentación de Microsoft sobre los controles de vista de lista .