2

レポート モードでリスト コントロールの列数を取得する必要があります。

現在、返さLVM_GETCOLUMNれるまで列番号を増やして送信しています:SendMessageFALSE

int col;
for (col = 0;; col++)
{ 
  LVCOLUMN Column;
  Column.mask = LVCF_WIDTH;
  if (!::SendMessage(hWnd, LVM_GETCOLUMN, col, (LPARAM)Column)
    break;
}

しかし、これはかなり厄介です。

4

1 に答える 1

15

リスト コントロールのヘッダー コントロールから列数を取得できます。

HWND hWndHdr = (HWND)::SendMessage(hWnd, LVM_GETHEADER, 0, 0);
int count = (int)::SendMessage(hWndHdr, HDM_GETITEMCOUNT, 0, 0L);
于 2015-10-22T12:56:32.423 に答える