COleDataSourceを使用したドラッグ処理中にマウスイベントを取得するには?


毘沙門天  2005-05-19 03:46:07  No: 57442

COleDataSourceのDoDragDropを呼び出してCListCtrlからCTreeCtrlへのドロップを実装しました。

しかし、CListCtrlのアイテム上にマウスが移動したときにそこのアイテムを反転表示したいのですが、DoDragDropが動作している間はマウスイベントが全く飛んで来なくなってしまうようで、実現することができませんでした。

どなたかDoDragDropを実行中でもマウスのイベントを取得する方法、あるいは上記の動作を実現する別の方法をご存知でしたら教えてください。

よろしくお願いします。


forty-five  2005-05-19 09:29:20  No: 57443

ドロップターゲットの処理は
COleDropTarget を使えば出来ると思います。


毘沙門天  2005-05-19 21:48:12  No: 57444

>forty-fiveさん

ありがとうございます。

ちなみに説明が間違っていました(^^;。
  「CListCtrlのアイテム上に」→「CTreeCtrlのアイテム上に」
あまり変わりませんが。

この場合、

・CTreeCtrlを派生して、そのメンバにCOleDropTargetの派生クラスを
置く。
・COleDropTargetの派生クラスのOnDragEnter(),OnDragOver()でアイテムのHitTestを行い、ドロップターゲットの処理を行う。

ということで良いのでしょうか?
OnDragOverがMOUSEMOVEに相当するんですよね?


forty-five  2005-05-20 06:55:47  No: 57445

多分その手順で問題ないと思います。


毘沙門天  2005-05-24 01:14:09  No: 57446

>forty-fiveさん
ありがとうございます。
試してみます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加