ドラッグ中のコピーマーク – プログラミング – Home

ドラッグ中のコピーマーク
 
通知
すべてクリア

[解決済] ドラッグ中のコピーマーク


tic
 tic
(@tic)
ゲスト
結合: 20年前
投稿: 2
Topic starter  

はじめまして。初心者の tic と申します。

早速ですが、現在エクスプローラ風のアプリケーションを作成中です。
エクスプローラでは、ドラッグ中に Ctrl を押すと、カーソルの右下にコピーマーク(?)
が出ますよね。

コピーを作成する動作は実装できたのですが、カーソルの変え方がわかりません。
SetCursor と LoadCursor でできると思ったのですが、望むものを見つけられませんで
した。

どなたか御存知の方いらっしゃいましたら教えて下さい。
よろしくお願いします。

環境 Windows XP(SP1), VC++ 6.0, MFC


引用未解決
トピックタグ
らふ
 らふ
(@らふ)
ゲスト
結合: 22年前
投稿: 18
 

ドロップしたい先が CView 派生クラスなら OnDrop~ 関数をオーバーライドして
適切な戻り値( +をつけたいなら DROPEFFECT_COPY )を返すようにすればできます。

それ以外の場合、ドロップ先ウィンドウに COleDropTarget 派生クラスを Register() で
結びつけ、その OnDrop~ 関数で適切な戻り値を返すようにすればOKです。

自分で作成した任意のカーソルを表示させたい場合はどうすればよいのかはわかりませ
ん。


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

> 自分で作成した任意のカーソルを表示させたい場合はどうすればよいのかはわかりませ
> ん。

カーソルを設定するのは、ドロップする側の仕事で、
COleDropSource::GiveFeedback() をオーバーライドすれば可能のようです。


返信引用
tic
 tic
(@tic)
ゲスト
結合: 20年前
投稿: 2
Topic starter  

らふさん、dairygoodsさん、レスありがとうございます。

> ドロップしたい先が CView 派生クラスなら OnDrop~ 関数をオーバーライドして
> 適切な戻り値( +をつけたいなら DROPEFFECT_COPY )を返すようにすればできます。

らふさんの↑のやり方で無事できました。

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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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