を動かしながら、ウィンドウのキャプションにカーソルを変更しますStackOverflowの中に別のポストからのコード、次のとおりです。のC# - ウィンドウキャプションの変更カーソルここ
protected override void WndProc(ref Message m) {
if (m.Msg == 0x20) { // Trap WM_SETCUROR
if ((m.LParam.ToInt32() & 0xffff) == 2) { // Trap HTCAPTION
Cursor.Current = Cursors.Hand;
m.Result = (IntPtr)1; // Processed
return;
}
}
base.WndProc(ref m);
}
出典:https://stackoverflow.com/a/6484627/4871566
しかし、三つの追加問題があります私は解決したい:
1-ウィンドウを移動している間(左マウスボタンを押しながら)、カーソルはウィンドウのデフォルトに再び変わる。フォームウィンドウを動かしながら、選択したものにカーソルを変更する方法はありますか?
2子フォームをShowDialog()
としてロードすると、メインフォームは無効になり、ユーザーはそのフォームと対話できなくなります。子フォームの領域のカーソルが、子フォームの領域外にあるときウィンドウ)、それはシステムウィンドウのデフォルトになります。ここでカーソルを外側に変更する方法はありますか?
3-メッセージボックスのキャプションバーのカーソルを変更する方法はありますか?