Как получить количество столбцов в элементе управления списком
Мне нужно получить количество столбцов в элементе управления списком в режиме отчета.
Прямо сейчас я отправляю LVM_GETCOLUMN
с увеличением номера столбца до SendMessage
возвращается FALSE
:
int col;
for (col = 0;; col++)
{
LVCOLUMN Column;
Column.mask = LVCF_WIDTH;
if (!::SendMessage(hWnd, LVM_GETCOLUMN, col, (LPARAM)Column)
break;
}
Но это довольно неловко.
1 ответ
Решение
Вы можете получить количество столбцов из элемента управления заголовка элемента управления списком.
HWND hWndHdr = (HWND)::SendMessage(hWnd, LVM_GETHEADER, 0, 0);
int count = (int)::SendMessage(hWndHdr, HDM_GETITEMCOUNT, 0, 0L);