掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
マウスの中央のボタンのイベントを取得するには? (ID:15791)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 他のアプリ(仮にA)にフォーカスを移動した後に、このTMyPaintコンポーネント上にマウスを移動させてマウスの中ボタンをまわすと他のアプリ(仮にA)のマウススクロールイベントが作動します。 これって、当然じゃない? アクティブになっていないアプリに、マウス関連メッセージ飛ばす必要はないでしょう。 そうじゃないと、例えばIEとWordが起動していて、全面のWORDをホイールでスクロールさせたら、 裏に隠れたIEもスクロールしたらおかしいでしょ? まず、ウインドウズのお作法に反する動作かと思います。 私が知らないだけで、そういう動作もありってことなら、後学のために教えて欲しいです。 細かい説明ができる識者の方、いらっしゃいましたら教えてください。 なお、どうしてもホイールを効かせたいのなら、逆転の発想をするしかないでしょう。 アクティブなアプリにしか、メッセージが飛ばないのなら、自分のアプリを強引にアクティブにするしかないんじゃないですか? ちなみに、WndMethodの中でホイールの方向調べなくても、DoMouseWheelDown とか飛んでいくはずですが、とんでいないのですか? DoMouseWheelDownのメソッドを実行させるために、Performを使って自分自身にメッセージ処理を行わせているのです。 それに、すべてのマウスメッセージがすべてトラップされているので、場合によっては、 MouseDownとか、MouseMoveでもビープ音鳴りません? (メッセージのパラメータを知らずしての発言なので、スルーして結構)
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.