▼ 宮さん
少し時間ができましたので,前に作成したのを探しました.
見つかりませんでした.
ちょっとくどうようですが,説明を
まっ,私も,自分でグローバルフックはUACの問題があることを,どこかの
記事に書いたか,書こうとしたつもりで,白猫さんに指摘されるまで忘れる
程度の頭脳ですので,もしかしたら記憶違いがあるかも知れません.
ます,エクスプローラに限らず,他のアプリからドラッグしてきた場合,
目的のアプリ(この場合は,自アプリのTTreeView)で選択状態に出来ない
理由は簡単です.
自アプリがアクティブでないからです.
どうするかというと,マウスのグローバルフックをします.
サンプルプログラム集のどこかにあったかと思いますが,この場合,
DLLにする必要はありません.何故なら,マウスの動作を制御するわけ
ではないからです.
それで,マウスがTreeViewのことろにきたら,後は,その座標位置の
Nodeを選択状態にします.
それから,提示されたコードでは,TTreeviewのウィンドウプロシージャーを
再定義して使用していますが,ドロップを受け入れるためだとしたら,
その必要はないと思ます.
AcceptFilesメッセージで処理可能です.
時間があればまた再作成したいとは思いますが...
期待はしないでくださいませ.
ポイントはマウス座標値の変換作業です.
|