性格悪い人が優勝

Visual C++ 2013でMFCを利用しています。

CListBoxのSelectionプロパティを「拡張」にして、複数選択可能にしています。
Ctrl + マウスクリックで例えば項目番号0,2,1の順番に選択したとします。

GetSelItems()で選択されている項目リストを取得すると、昇順(例の場合は0,1,2)で返ってきてしまいます。

選択した順番どおりに項目番号を得るにはどういった方法がありますか?

A 回答 (1件)

まず変化前選択状況を格納する vector なり list なり配列なりを用意して、


OnSelChange() で今の選択状況と変化前選択状況を比較して増えた分を変化前選択状況の後方に追加。
選択順の項目番号ががほしい場合は変化前選択状況を見る。

……という感じでできるんじゃないかなぁ。もちろん逆に選択数が減った場合とか選択のクリア機能を追加する
場合とかはその処理を考えなきゃならないけど。
    • good
    • 0
この回答へのお礼

遅くなりました。ありがとうございます。調べてみます。

お礼日時:2014/10/09 09:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!