ウィンドウ外へのD&Dの方法 – プログラミング – Home

ウィンドウ外へのD&Dの方法
 
通知
すべてクリア

[解決済] ウィンドウ外へのD&Dの方法


初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

いつも楽しく拝見させていただいております。

現在簡単なエクスプローラ(ファイラ)を作成しようと思い、プログラム構成や知識不足でネックに
なる部分をいろいろ考えています。

そこで浮上した問題の一つが、ウィンドウ外へのD&Dの方法です。
一般的な手法があればいいのですが・・・・

一応ウィンドウ内でのD&Dは嗜んだことがあり、
SetCapterを行い、カーソルがウィンドウ外で出たらカーソルを変える所までは出来るのですが、問
題はその後です。

自分で考えた感じでは、
カーソル位置のウィンドウ(またはデスクトップ)をどうにか取得し、そのウィンドウがD&Dを許
可していない場合、D&D不可アイコンをカーソルにして、D&Dを許可していたら左クリックを離
した時になにかしらの処理をする(SendMessage?)
という感じです。

聞きたいことがはっきりしませんが、一応がんばってまとめてみました。

・ウィンドウ外へのD&Dの詳しい手順(一般的な方法があればそれを)。
もしくは、
・カーソル位置のウィンドウの取得方法。
・ドロップしたウィンドウにD&Dのメッセージを送る方法。

です。
よろしくお願いします。


引用未解決
トピックタグ
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

一応開発環境書いた方がいいですかね?
WindowsXP
VS.net 2005 Pro(VC8)
Win32
MFC:使ってない


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

OLE Drag&Drop を使うのが比較的簡単だと思います。

http://msdn.microsoft.com/library/en-us/com/html/d4a57956-37ba-44ca-8efc-
bf617ad5e77b.asp

この機能を使うと、カーソル位置判定、メッセージ送信などの
ややこしい部分はシステムが全部やってくれます。

主要クラス IDropTarget/IDropSource/IDataObject 等を
キーワードにして情報を探してみてください。

MFC のソースを見てみるのもよいかも知れません。


返信引用
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

こんなのもみつけました。
http://forums.belution.com/ja/vc/000/220/92s.shtml

dairygoodsさん回答ありがとうございます。

なかなか難しいですね。


返信引用
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

解決してませんが、解決しそうなので解決にチェックを入れておきます。

とりあえず勉強は後回しにして、
このサイトのソースコピペと微修正いけるかも
http://hp.vector.co.jp/authors/VA016117/oledragdrop1.html

ご協力いただいたみなさま(一人だが)ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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