|
カンタービレさん、渋木宏明(ひどり) さん返信ありがとうございます。
また、返信遅くなってすいません。
※WndProcをオーバーライドしてやってみました。 ↓な感じです、うまくいっているようです。 protected override void WndProc(ref Message m) {
//メッセージの選択 switch (m.Msg) { //マウス右ボタンの押し下げのメッセージを無効化 case WM_RBUTTONDOWN: m.Result = (IntPtr)0; return; //マウス右ボタンを離した時のメッセージを無効化 case WM_RBUTTONUP: m.Result = (IntPtr)0; return;
・・・・・・・・ }
base.WndProc(ref m); }
※左ボタンの押し下げ、押し上げ状態のフラグを作っても実現できました。 マウスキャプチャが離れる時呼ばれるOnMouseChangeCapture()で、左ボタン押し下げ状態であれば 強制的にキャプチャをtrueにするようにしてやればできたもようです。 ↓な感じです。
protected override void OnMouseCaptureChanged(EventArgs e) { base.OnMouseCaptureChanged(e);
//マウスの左ボタンが押し下げられている時はキャプチャを有効にする if (isMouseLeftButtonDown) { this.Capture = true; } i++; Console.WriteLine("Capturechange{0} {1}", i, this.Capture); }
改めて、ありがとうございました。
|