MFC   VC++   Visual Studio   Visual Studio   プログラミング

CMFCShellListCtrlの表示項目

 「CMFCShellListCtrl」クラスをデフォルトで使うと、左の列から順に「Name」「Size」「Type」「Modified」となっていますが、まずはこれらのカラム名を変更する方法を紹介します。

 やり方は、「CMFCShellListCtrl」クラスを派生させ(ここではCMyMFCShellListCtrl)、仮想関数「OnSetColumns」をオーバライドし、その中でカラム名の変更をしていきます。
ヘッダファイル
    virtual void OnSetColumns();
cppファイル
void CMyMFCShellListCtrl::OnSetColumns()
{
    CMFCShellListCtrl::OnSetColumns();

    LVCOLUMN lv;
    lv.mask = LVCF_TEXT;
    lv.pszText = _T("ファイル名");
    SetColumn(0, &lv);
}
 上記の例は、0番目のカラム名を「Name」から「ファイル名」に変更します。
 列の並び順を変えたい場合は、この関数内で「SetColumnOrderArray」を使って並び替えます。

 この他に、
void CMyMFCShellListCtrl::OnSetColumns()
{
    InsertColumn(0, _T("ファイル名"), LVCFMT_LEFT, 150, 0);
    InsertColumn(1, _T("ファイルサイズ"), LVCFMT_RIGHT, 120, 1);
}
 とすれば、2列だけになります。
 しかし、この方法だと2列目にファイルタイプを持ってきたり、更新日時を持ってきたりすることが出来ません。
 前述のように列の並び替えをして、不要な列を削除すれば出来ないことはないのですが、もう少しスマート?な方法があるので、次回、その方法を紹介したいと思います。
ランキングへ     posted by 遠雷 | Comment(0) | コントロール
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。