ListControl にカラムを指定してアイテムを追加する方法を知っている方は教えてくだ
さい。
環境
Windows XP
Visual C++ .NET ( MFC )
CListCtrl::InsertItem()でなくて?
tib さん、ありがとうございます。
InsertItem( ) を使うのはわかってはいたのですが、カラムが現在2つあるうちの2番
目のカラムにアイテムを設定させたいのです。
説明不足ですみませんでした。
リストコントロールがどういう風にデータを管理しているかを理解する必要があると思い
ます。
リストコントロールは、表示方式がアイコン、一覧、詳細がありますね。
表示されている物は同じですが、表示形式が違うだけです。
リストコントロールの場合、アイテムとして管理されているのは詳細表示で言えば、
一行分が一アイテムになります。
通常アイテムに対してテキストを設定すると一番左に表示されると思います。
この状態でアイコン表示にすると先ほど一番左に表示されていた内容がアイコンの
下に表示されていると思います。
では、二番目以降の内容は何なのかと言うと二番目以降の情報はそのアイテムの
詳細情報に当たり、実際には詳細表示の時の一番左の項目のサブアイテムになります。
したがって、二番目以降に設定したい場合は、まずアイテムを追加した後に
そのアイテムのサブアイテムとして情報を設定すればよいです。
サブアイテムにテキストを設定したい場合は、SetItemText関数を参照してください。
アイテムの追加に関しては問題なく処理できるようになりました。
どうも、ありがとうございます。
ところで、ListControl の View プロパティが「レポート」の時に、クリックされた行
全てを範囲指定することはできるのでしょうか?
それと、TextControl なるコントロールが存在するということですが、どのようにツー
ルボックスに追加するのか知っている方は教えて下さい。
お手数ですが、よろしくお願いいたします。
一行選択は、MFC ならば CListCtrl::SetExtendedStyle で LVS_EX_FULLROWSELECT を設
定してやりましょう。
シャノンさん、どうもありがとうございました。
おかげで、問題が全て解決しました。