• ベストアンサー

・スクロール状態を止める方法について

・スクロール状態を止める方法について 【開発環境】 VC++2008 Windowsフォームアプリ OS:Vista 【現状作ったもの】 タブのあるwebブラウザを作成しています。 既存のWebBrowserクラスを継承したクラスを作成してマウスクリックに対応させ、リンク上でマウス中央ボタンを押すと新しいタブでページを開くようにしました。 【問題点】 新しいタブを開いても、古い方のページの、マウスの中央ボタンによるスクロール状態が止まりません。 このスクロール状態を止める方法はあるのでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

全くの当てずっぽうで書きます。 新しいタブを開く処理をした後、マウス中央ボタンのイベントをそのまま既存のブラウザに投げているのではないでしょうか。イベントを投げるのをやめればスクロールもしなくなるのでは?

Foomin
質問者

お礼

ありがとうございます。 ・・・でも、違うようです。 そもそもWebBrowserコントロールにはマウスクリックイベントもなければ、マウス関連のメッセージを投げる機能もありません。今回はオーバーライドして私が作りました。中央ボタンのイベントはコントロールにデフォルトでついていて、どんな動きをしているのかは不明です。 一応、解決はしました。 中央ボタンを押して移動すると同時に、自分自身のexeを一瞬だけ立ち上げて無理やりフォーカスを奪うっていう強引な手段になりましたがね・・・ もうちょっとスマートな方法をご存知の方がいらっしゃいましたらよろしくお願いします。