アイコンをドラッグ

[戻る]
Hana 2002/07/19(金) 15:07:58
ドラッグアンドドロップに対応したリストビューを作成しています。
エクスプローラなどのように、ドラッグ中、マウスカーソルにアイコンを
くっつけるようにするにはどうしたらよいのでしょうか?
ドロップターゲット側の処理になるのでしょうか?
それさえも分からないです・・・。

dairygoods 2002/07/19(金) 15:34:49
ツリーの場合ですが、リストでもほとんど同じだと思います。
http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_TVdrag.html

ドラッグ ドロップ CImageList
をキーワードにして探してみてください。

Hana 2002/07/21(日) 10:39:47
dairygoodsさんどうもありがとうございます。
ただ、これはツリービュー内でのドラッグアンドドロップになると思います。
他のアプリケーションなどからドラッグしてきたり、
他のアプリケーションにドラッグしたりするときの方法がわかりません。
ちなみにドラッグ中にWM_MOUSEMOVEがあがってこないのは
何か間違っているのでしょうか。

dairygoods 2002/07/22(月) 10:24:38
MFCのOLEドラッグ&ドロップクラスを使っておられるのなら、
COleDropSourceのGiveFeedbackをオーバーライドすれば
できるような気がしますが、どうでしょうか?

Hana 2002/07/22(月) 14:31:17
COleDropSourceのGiveFeedbackをオーバーライドしてみました。
カーソルをオリジナルなものに変更することはできたのですが、
カーソルにアイコンをくっつけることができません。
もう少しヒントを頂けませんでしょうか。お願いします。

dairygoods 2002/07/22(月) 15:13:45
試したわけではないのですが、
GiveFeedback()内でCImageListのドラッグ用描画関係の関数を
使ってイメージを描画すれば出来そうな気がします。

Hana 2002/07/23(火) 11:30:38
なんとかGiveFeedback()内でアイコンを表示することができました。
ただカーソルにくっつけることができません・・・。
GiveFeedback()内で、現在のマウスカーソルの位置を知るには
どうしたらよいでしょうか?

dairygoods 2002/07/23(火) 13:23:12
GetSursorPos()で何時でも何処でもカーソル位置を取得できます。

dairygoods 2002/07/23(火) 13:25:02
すみません、打ち間違えました。GetCursorPos()です。

Hana 2002/07/23(火) 23:35:32
[[解決]]
dairygoodsさん、どうもありがとうございました。
それらしき物ができました。
まだあやしいところがちょこちょことあるので
まだまだ手直しが必要ですが・・・。

古いスレッドには追加発言できません。