はじめまして。初心者の tic と申します。
早速ですが、現在エクスプローラ風のアプリケーションを作成中です。
エクスプローラでは、ドラッグ中に Ctrl を押すと、カーソルの右下にコピーマーク(?)
が出ますよね。
コピーを作成する動作は実装できたのですが、カーソルの変え方がわかりません。
SetCursor と LoadCursor でできると思ったのですが、望むものを見つけられませんで
した。
どなたか御存知の方いらっしゃいましたら教えて下さい。
よろしくお願いします。
環境 Windows XP(SP1), VC++ 6.0, MFC
ドロップしたい先が CView 派生クラスなら OnDrop~ 関数をオーバーライドして
適切な戻り値( +をつけたいなら DROPEFFECT_COPY )を返すようにすればできます。
それ以外の場合、ドロップ先ウィンドウに COleDropTarget 派生クラスを Register() で
結びつけ、その OnDrop~ 関数で適切な戻り値を返すようにすればOKです。
自分で作成した任意のカーソルを表示させたい場合はどうすればよいのかはわかりませ
ん。
> 自分で作成した任意のカーソルを表示させたい場合はどうすればよいのかはわかりませ
> ん。
カーソルを設定するのは、ドロップする側の仕事で、
COleDropSource::GiveFeedback() をオーバーライドすれば可能のようです。
らふさん、dairygoodsさん、レスありがとうございます。
> ドロップしたい先が CView 派生クラスなら OnDrop~ 関数をオーバーライドして
> 適切な戻り値( +をつけたいなら DROPEFFECT_COPY )を返すようにすればできます。
らふさんの↑のやり方で無事できました。
ありがとうございました。