• 締切済み

リストビューでのカラム挿入について

ウインドウにリストビューを貼り付け、データを表示させようとしていますが、上手くいかない点がありますので、相談に乗ってください。 やりたい事はデータリストの上と左にグレーのセル(という表現でいいのかな?)を表示させたいのです。 わかりやすく言いますとExcelのような表示にしたいです。Excelだと上と左にグレー部分があり、ボタンの様に押すことが出来ると思います。 カラムを挿入する事で上部分は思い通りの表示になりますが、左部分をどうやって表示すれば良いのか分かりません。 ネットでも色々調べてみたのですが、左部分に表示する方法を見つめることが出来ませんでした。 文字制限でソースを貼り付けられなかったので、後から補足でアップします。 よろしくお願いします。

みんなの回答

  • tea_sheep
  • ベストアンサー率53% (8/15)
回答No.3

リストビューの上につくヘッダーコントロールはあっても左につくものは Windowsのコモンコントロールにはないです。 カスタムドローを使って、一番上の行と一番左の列の色を変えるというのは どうでしょう。マウスクリックなどのイベント処理が多少面倒ですが。

  • toshi_yn
  • ベストアンサー率50% (5/10)
回答No.2

どんなプログラミン環境か分かりませんが、Borland C++ Builderで言うところの「StringDrid」「DrawGrid」を使うと、ListViewの上と左にカラムヘッダーが付いたようになります。 はずしていたらごめんなさい!

SCP10
質問者

お礼

ありがとうございます。 Borland C++ではなくMS-VC++6.0です。 左側にグレー部分が表示できて、そこに連番(降順)で番号さえ振れればいいのです。 調べた限りでは方法が見つからなかったので、どうかご教授ください。

  • tea_sheep
  • ベストアンサー率53% (8/15)
回答No.1

Windowsだとしても、リストビューの作成にVCのMFCを使っているのか、Borland C++ BuilderのVCLを使っているのか、Win32 APIを使っているのか、…によって変わってくると思いますが。 何を使って開発しているんでしょう?

SCP10
質問者

補足

すみません。情報が少なすぎたようです。 ソースコードをリストビュー部分だけですが掲載します。 MS-VC++6.0で製作しています。フレームウインドウにリストビューを貼り付けています。 何分Window処理は経験がないので不手際はご容赦ください。 今のところ以下の様なコードで上側にカラムの表示だけは出来ています。左側のグレー部分が表示できればいいのですが・・。 -------------------------------------------------------------- // リストビュー生成 hList1 = CreateWindowEx( 0, WC_LISTVIEW, "", WS_CHILD | WS_VISIBLE | LVS_REPORT, 0, 0, 0, 0, hChild, (HMENU)ID_LISTVIEW, hInst, NULL); // リストビューの拡張フォーマット設定 dwStyle = ListView_GetExtendedListViewStyle(hList1); dwStyle |= LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES; ListView_SetExtendedListViewStyle(hList1, dwStyle); // リストビューのカラムを設定 lvcol.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; lvcol.fmt = LVCFMT_LEFT; lvcol.cx = 50; lvcol.pszText = "No."; lvcol.iSubItem = 0; ListView_InsertColumn(hList1, 0, &lvcol); lvcol.cx = 200; lvcol.pszText = "Name"; lvcol.iSubItem = 1; ListView_InsertColumn(hList1, 1, &lvcol); lvcol.cx = 80; lvcol.pszText = "Adress"; lvcol.iSubItem = 2; ListView_InsertColumn(hList1, 2, &lvcol);

関連するQ&A