お世話になっております。
WinXP Pro VC+6.0 SP6 MFC(EXE)で
アプリケーションを作成しています。
質問はCTreeCtrl(またはCTreeView)について
なのですがCTreeCtrlのアイテムを複数選択
できるようにすることはできるのでしょうか?
もし複数選択を可能にする方法をご存知の方が
いらっしゃいましたら、どうぞご教授ください。
よろしくお願いいたします。
お望みのものかどうかはちょっと解りませんが、
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/treeview/styles.asp
の「TVS_TRACKSELECT」が使えそうな気がします。
私の知る限りでは、複数選択は標準機能でサポートされていないような気も。
代替手段として、TVS_CHECKBOXES スタイルを追加して、チェックボックスで選択状態を
表現するとか、
カスタムドローと、選択状態を独自管理することで複数選択されているように見せかける
事は可能なのかもしれません。
確度のない話で申し訳ないです。
下記のURL記事が参考になると思います。
http://codeguru.earthweb.com/Cpp/controls/treeview/misc-
advanced/article.php/c629/
http://codeguru.earthweb.com/Cpp/controls/treeview/misc-
advanced/article.php/c723/
返事が送れて申し訳ありません。
みなさん、回答ありがとうございます。
tibさんのおっしゃっているTVL_TRACKSELECT
スタイルは私も最初に試してみたのですが、
望むような動作は得られませんでした。
やっぱり、sugarさんのおっしゃっているように
カスタムドローと、選択状態を独自管理することで複数選択されているように見せかける
しかないのかなと。
で、Facktさんに教えていただいたcodeguruのプロジェクトで
まさにそれをやっていて、
( http://codeguru.earthweb.com/code/legacy/treeview/CMultiTree.zip)
そのプロジェクトの中のCMultiTreeというクラスを
参考にして実現することができました。
ありがとうございました。
解決チェックつけ忘れました。