CListViewやCTreeViewへファイルをドラッグしてくるときに、
Viewにある項目やアイコンを選択させる方法が分かりません。
エクスプローラなどでは当たり前の動作ですが、
どの辺を調べていいのか見当もつきません。
どなたか教えてください。お願いします。
CListCtrl::GetFirstSelectedItemPosition
て質問の趣旨はづしてますか
CListCtrl::SelectDropTarget()かも。
CTreeCtrlにはSelectDropTargetってあるんですけど
CListCtrlにはないようです。
CTreeCtrlとCListCtrlでは、方法がぜんぜん違うのでしょうか。
> CListCtrl::SelectDropTarget()かも。
CTreeCtrl::SelectDropTarget()の間違いでした。失礼しました。
リストの場合は、項目が選択されている時の見た目と
項目がドロップ対象になっているときの見た目は同じです。
ツリーの場合は、項目が選択されているときは、
文字が選択状態になると同時にアイコンが選択時のものに置き換わり、
項目がドロップ対象になっているときは、
文字が選択状態になりますが、アイコンは変わりません。
そのため、ツリーの方だけ専用の関数があります。
方法は、どちらも同じで、
カーソル位置にある項目を調べて、
リストでは、SetItemStateで選択状態にし、
ツリーでは、SelectDropTargetでドロップ対象状態にします。
(当然カーソルが外れたら元に戻します。)
dairygoodsさん、どうもありがとうございます。
だいたいやり方はわかりました。
あとひとつだけわからないのが、
スプリッタウィンドウで二つのビューを両方ともアクティブにする方法って
あるんでしょうか?
ないでしょう。
CListCtrlの場合スタイルに LVS_SHOWSELALWAYS を追加すれば
コントロールにフォーカスがなくても、選択されていれば常に選択状態で表示します。
みなさんどうもありがとうございました。
思い通りの動作ができました。