アイコン ビューで CListCtrl を使用していますが、水平方向にスクロールします。
1 3 5 7 -->
2 4 6 8 -->
むしろ水平にスクロールしたい:
1 2
3 4
5 6
| |
V V
これを行う方法はありますか?
デザイナーの配置スタイルを左から上に変更します。
「レポート」ビューを使用して問題を解決したようです。VS Designerを使用すると、これは「表示」スタイルを「レポート」に変更することを意味し、.RCファイルでLVS_REPORT属性が指定されたコントロールになります。これはCListCtrl::SetView(LV_VIEW_DETAILS)
、コードを呼び出すことと同じであることに注意してください。ただし、これでは不十分です。数行のコードを含む列がまだない場合は、列を作成する必要もあります。
m_lstScenarios.InsertColumn(0, L"NO HEADER");
m_lstScenarios.SetColumnWidth(k_nListColScenario, LVSCW_AUTOSIZE);
列ヘッダーが不要な場合は、Designerで「列ヘッダーなし」スタイルを使用してLVS_NOCOLUMNHEADERを設定します。
リスト コントロールで、垂直スクロール バーを使用して 1 列に画像を含むコンテンツを表示するには、次のコードを追加します。PreCreateWindow 関数で、次の行を追加します cs.style |= (LVS_REPORT|LVS_NOCOLUMNHEADER); OnIntialUpdate 関数で、次の行を追加します。 fileList.InsertColumn(0," ",LVCFMT_LEFT|LVCFMT_IMAGE,120,-1); ShowScrollBar(SB_VERT,1); この後、リストにデータを挿入したい場合はいつでもできますが、imagelist を設定してから insertitem を使用してデータを挿入するように注意してください。ここで、1-> はイメージリスト内のイメージのインデックスです。