いくつかの問題を修正し、データベース プロジェクト用にずっと前に作成されたフォーム デザイナーを強化する必要があります。デザイン パネルのクラス コードで、これらの行に遭遇しました
private void DesignPanel_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
(sender as Control).Capture = false;
switch (FMousePosition)
{
case MousePosition.mpNone:
SendMessage((sender as Control).Handle, WM_SYSCOMMAND, 0xF009, 0);
break;// Move
case MousePosition.mpRightBottom:
SendMessage((sender as Control).Handle, WM_SYSCOMMAND, 0xF008, 0);
break;//RB
case MousePosition.mpLeftBottom:
SendMessage((sender as Control).Handle, WM_SYSCOMMAND, 0xF007, 0);
// ... here are similar cases ...
case MousePosition.mpLeft:
SendMessage((sender as Control).Handle, WM_SYSCOMMAND, 0xF001, 0);
break;//L
}
}
}
FMousePosition は、マウスが選択されたコントロールのいずれかの端にあったかどうかを示します。
私を混乱させているのは、これらのウィンドウメッセージです。パラメーター0xF001-0xF009を持つWM_SYSCOMMANDに関するドキュメントがないようです(おそらく、ある種の「ドラッグ/サイズ変更シーケンス」を開始します)。何か案は?
私の提案が正しければ、どうすればこれらのシーケンスをキャンセルできますか?