説明するのはかなり難しい問題ですが、最善を尽くします。win32GUIベースのアプリケーションにカスタムドラッグアンドドロップ実装を作成しました。プログラムの制限により、適切なOLEドラッグアンドドロップメカニズムを使用できません。それは大丈夫です、私はマウスキートラッキングで自分で作りました、そしてそれはとてもうまくいきます。私が今解決できない唯一の問題は、血まみれの無効な(スラッシュの付いた円)-IDC_NOカーソルです。
私のウィンドウはドロップできないと判断し、何かがドロップしようとするとカーソルを無効に変更します。私はそれを変えるためにすべてを試みました、しかしそれはそこにとどまるように主張します。
case WM_SETCURSOR:
{
//SetSystemCursor(CopyCursor(LoadCursor(NULL, IDC_CROSS)), 32648);
//DestroyCursor();
SetCursor(LoadCursor(NULL, IDC_CROSS));
SetWindowLong(hwnd, DWL_MSGRESULT, TRUE);
return TRUE;
}
break;
コールバック関数を呼び出すたびに実行されるメッセージ交換の外側のアイコンを変更しようとさえしました。少しは機能しましたが、うまくいきませんでした。IDC_CROSSカーソルに設定しているようですが、IDC_NOに戻ります。
この無効なカーソルを取り除くにはどうすればよいですか?IDC_CROSSに設定したい。
または、OLEまたはMFCクラスを使用せずにドラッグアンドドロップを実装して、アプリケーションをドロップ可能にし、無効なカーソルを表示しないようにするにはどうすればよいですか。
かなり複雑ですが、私の質問を読んでも、お時間をいただきありがとうございます;)