Explorerからのドロップ判定 – プログラミング – Home

Explorerからのドロップ判定
 
通知
すべてクリア

[解決済] Explorerからのドロップ判定


シュウ
 シュウ
(@シュウ)
ゲスト
結合: 22年前
投稿: 43
Topic starter  

開発環境は、WinXP、VC7です。

独自のCListCtrlにフォルダを登録し、そこにExplorerからの
ドラッグアンドドロップを受け付けるソフトを作っています。

COleDropTargetをRegistして、OnDragEnterとOnDragOverを
実装しようとしています。

ExplorerでドラッグされたファイルがCドライブのファイルだった場合、
CドライブのフォルダではDROPEFFECT_MOVE、
Cドライブ以外のフォルダではDROPEFFECT_COPYを戻すようにしたいのですが、
その判定はどのように行うのでしょうか?

また、マイコンピュータがExplorerからドラッグされた場合は、
DROPEFFECT_LINKにしているようですが、
この判定もどのように行うのでしょうか?

どこか参考になるサイトなどがございましたら、
是非教えてください。

よろしくお願いします。


引用未解決
トピックタグ
Kerry
 Kerry
(@Kerry)
ゲスト
結合: 20年前
投稿: 192
 

http://msdn.microsoft.com/library/en-
us/shellcc/platform/shell/programmersguide/shell_basics/shell_basics_programmin
g/transferring/transfer.asp

このあたりが参考になると思います。


返信引用
シュウ
 シュウ
(@シュウ)
ゲスト
結合: 22年前
投稿: 43
Topic starter  

Kerry様、レスありがとうございます。

もう少し教えていただけないでしょうか?

OnDragOver()がコールバックされたときの
DROPEFFECT_MOVEかDROPEFFECT_COPYかの
判定についての記述が読み取れませんでした。

COleDataObjectのEnumFormatEtc()で
ドラッグされているオブジェクトに関する
情報は取得できますが、
ドロップ先の情報とどう絡めていくかが
わかりません。

ドロップ先は、独自のCListCtrlのアイコンに
フルパスのLPITEMIDLISTを持たせていますので
IShellFolderも取得できます。

よろしくお願いします。


返信引用
シュウ
 シュウ
(@シュウ)
ゲスト
結合: 22年前
投稿: 43
Topic starter  

Kerry様

よく読んだところ、できました。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました