List-View 列を追加する方法

このトピックでは、リスト ビュー コントロールに列を追加する方法について説明します。 列は、リスト ビュー コントロールがレポート (詳細) ビューにある場合にアイテムとサブ項目を表示するために使用されます。 選択した列のテキストをタイル ビューに表示することもできます。

知っておくべきこと

テクノロジ

前提条件

  • C/C++
  • Windows ユーザー インターフェイス プログラミング

手順

リスト ビュー コントロールに列を追加するには、 LVM_INSERTCOLUMN メッセージを送信するか、ListView_InsertColumn マクロを使用します。 列を削除するには、LVM_DELETECOLUMN メッセージを使用します。

次の C++ コード例では、 ListView_InsertColumn マクロを呼び出して、リスト ビュー コントロールに列を追加します。 列見出しは、アプリケーションのヘッダー ファイルで文字列リソースとして定義され、IDS_FIRSTCOLUMNから連続して番号が付けられます。 ヘッダー ファイル内の列の数は、 C_COLUMNS として 定義されます。

// InitListViewColumns: Adds columns to a list-view control.
// hWndListView:        Handle to the list-view control. 
// Returns TRUE if successful, and FALSE otherwise. 
BOOL InitListViewColumns(HWND hWndListView) 
{ 
    WCHAR szText[256];     // Temporary buffer.
    LVCOLUMN lvc;
    int iCol;

    // Initialize the LVCOLUMN structure.
    // The mask specifies that the format, width, text,
    // and subitem members of the structure are valid.
    lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;

    // Add the columns.
    for (iCol = 0; iCol < C_COLUMNS; iCol++)
    {
        lvc.iSubItem = iCol;
        lvc.pszText = szText;
        lvc.cx = 100;               // Width of column in pixels.

        if ( iCol < 2 )
            lvc.fmt = LVCFMT_LEFT;  // Left-aligned column.
        else
            lvc.fmt = LVCFMT_RIGHT; // Right-aligned column.

        // Load the names of the column headings from the string resources.
        LoadString(g_hInst,
                   IDS_FIRSTCOLUMN + iCol,
                   szText,
                   sizeof(szText)/sizeof(szText[0]));

        // Insert the columns into the list view.
        if (ListView_InsertColumn(hWndListView, iCol, &lvc) == -1)
            return FALSE;
    }
    
    return TRUE;
} 

List-View コントロール リファレンス

リスト ビュー コントロールについて

List-View コントロールの使用