問題タブ [mousewheel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - Delphi 2009 のカスタム コンポーネントでマウス パンを行う方法
D2009を使用しています。マウスのパンを追加したい TWinControl から派生したコンポーネントがあります。新しいコントロール スタイル csPannable と新しいコントロール状態 csPanning があることがわかります。私はそれを理解しようと vcl ソースを見てきましたが、今のところ少し迷っています。これに関するドキュメントを知っている人はいますか?提案やリンクは大歓迎です!
visual-studio-2010 - アプリケーションのメイン ループの前に、選択した入力を抑制することはできますか?
私の Visual Studio ユーティリティ アドインSamToolsの一部として、 Ctrl+MouseWheel をキャッチし、ページアップ/ページダウン コマンドをアクティブなテキスト ウィンドウに送信するマウス入力ルーチンがあります。Visual Studio 2010 では、ズームイン/ズームアウト (バーフ) にそのジェスチャを使用する新しい "機能" が追加されました。現在、アドインはスクロール コマンドを送信しますが、入力を食べていないため、Visual Studio は依然としてフォント サイズを変更します。
への呼び出しでフックを設定しましたSetWindowsHookEx
。コールバック コードは次のとおりです。私の質問は、Visual Studio が Ctrl+MouseWheel 入力をズーム コマンドとして処理して、Ctrl キーを押した状態でマウス ホイール イベントを取得したときに単に呼び出さないようにする最善の方法ですか?CallNextHookEx
(これは私の古いコードであることを覚えておいてください。):)
MouseWheel
イベントに応答して実行されるコードは次のとおりです。
PS: SamTools はオープン ソース (GPL) です。リンクからダウンロードでき、ソースはインストーラーにあります。
PSS: ズームには Ctrl+[+] と Ctrl+[-] が適しています。Ctrl+MouseWheel をスクロールさせます (非常に一般的に使用されるコマンド)。
c# - タブページでマウスホイール イベントを処理しないようにする (C#)
TabPages 内で PictureBoxes を使用する MDI (タブ付き) アプリケーションを作成しました。ピクチャボックスはタブページよりも大きい場合があるため、スクロールバーが表示されます。これは、Windows フォームを使用して C# で記述されています。
タブページ内では、MouseWheel イベントでマウス ホイール イベントをキャプチャして処理します (これを使用して、ピクチャ ボックスに描画するオブジェクトを回転させます)。
しかし、スクロールバーがある場合、マウスホイールを回転させると、オブジェクトが回転しますが、タブページも下にスクロールします。
タブページがマウスホイールイベントを処理しないようにして、スクロールダウンしないようにするにはどうすればよいですか? ユーザーがスクロールバーをクリックしてドラッグした場合にのみスクロール可能にしたい。
wpf - WPF-マウスホイールメッセージをFrame/WebBrowserコントロールに送信します
WebBrowserコントロール(またはフレーム、まだ決定されていません)を使用してWPFアプリでいくつかのWebコンテンツをホストしています。Webコンテンツでマウスホイールの動作をシミュレートするために使用したい外部の影響がいくつかあります。WPFアプリが指定したデルタ(スクロール)値を使用してマウスメッセージをWebBrowserコントロールに送信する方法はありますか?
c# - フォーカスされていないウィンドウでマウスホイールを検出していますか?
私の目標は、(独自の C# アプリケーションとして) フローティング ツールバーを作成することです。ユーザーがスクロール ホイールを使用すると、表示されるボタンを変更したいと考えています。簡単に聞こえますが、このワンライナーの問題である必要があります。
私が抱えている問題は、アプリケーションにフォーカスがある場合にのみマウス ホイール ハンドラーが呼び出されることです。つまり、ユーザーは最初にクリックし、次にマウスホイールをクリックする必要があります。それは私がやろうとしていることにはなりません。
MouseHover イベント ハンドラーをフックし、form.Activate() を呼び出して、フォーカスを取得できます。ユーザーがアプリケーションにマウスを合わせた直後に (少し待つのではなく) スクロールホイールを使用すると、フォーカスは前のアプリに残り、マウスホイールイベントを取得するため、これは最適ではありません。
当然のことですが、MouseEnter イベントをフックしてそこで Activate() を呼び出しますが、アプリケーションが最前面に表示される代わりに、そのアイコンがタスク バーで点滅し始めます。私は Win7 を使用していますが、この問題はおそらくこれより古いものです。
理想的には、アプリケーションにフォーカスがあるかどうかを気にせずに、マウスホイール イベントを検出できるようにしたいと考えています。前のアプリケーションが入力フォーカスを維持する方が本当に良いでしょう。たとえば、ユーザーがメモ帳を使用している場合、ユーザーは入力し、マウスをアプリに合わせ、スクロール ホイールを使用し、表示されているものを見て、メモ帳での入力を再開することを決定できます。 . 理想的には、このシナリオでは一度もクリックする必要がないようにしたい.
ただし、他に方法がない場合は、アプリケーションにフォーカスを切り替えるソリューションで解決します。
これまでのところ、C# と Windows Forms を使用していますが、問題を解決できるのであれば、別のものを使用することにオープンです。
では、ユーザーが最初にアプリケーションをクリックしてフォーカスすることなく、これらのマウスホイール イベントを表示するにはどうすればよいでしょうか?
c# - C# のネストされた Panel コントロールでも MouseWheel が表示されない
フォーム上にある TabControl の TabPage に Panel があります。
マウスイベント関数「control_MouseWheel」があります。
その関数をパネルだけの MouseWheel イベントにバインドすると、マウスホイールをスクロールしても何も起こりません。
その関数を、パネルと TabPage の両方の MouseWheel イベント、または Panel の 3 つすべて、TabPage と TabControl にバインドすると、何も起こりません。
次に、その関数をフォームの MouseWheel イベントにバインドすると、マウス イベント ハンドラーが起動しますが、フォーム上でのみ発生します。これは、ConsoleWriteline() を使用して確認できます。
実際にマウスホイールイベントを使用したい下にあるパネルを起動するにはどうすればよいですか?
子コントロールのスタックのプロパティ設定がありませんか?
javascript - Flash: 全画面表示モードでのマウス ホイール イベントの使用 (Windows および Mac)
Flash にはマウス ホイール イベント ( MouseEvent.MOUSE_WHEEL ) がありますが、かなりの問題があります。
1 つ目は、イベントがまだ Mac でサポートされていないことです。そのため、たくさんのソリューションがあり、そのすべてが (基本的に) javascript でマウスホイール (または DOMMouseScroll) イベントをキャプチャし、それを Flash アプリに渡します。幸いなことに、私がテストしたすべての Mac ブラウザで、これはフラッシュがフルスクリーン モードの場合にも機能します。
問題 2 は、小さな「デルタ」を持つマウス ホイール イベントをフラッシュが無視することです。たとえば、「スムーズ スクロール」機能を備えた Microsoft の IntelliPoint Mice は、この問題を引き起こします。これに対する解決策は、Mac の場合と同じです。つまり、ブラウザで JavaScript のマウス ホイール イベントをキャプチャし、それをアプリに渡します。問題は、私がテストした Windows のブラウザー (firefox、つまり safari、および chrome) の問題であり、フラッシュが全画面モードの場合、このイベントをキャプチャーしないようです。誰かがそれを修正する理由または方法を知っていますか?
私は現在、Windows でフルスクリーン モードの場合 (フラッシュ マウスホイール イベントからイベントを取得する時点) を除いて、(非フルスクリーン モードまたはフルスクリーン モードで) 常に JavaScript からイベントを取得するハイブリッド ソリューションを使用しています。したがって、失敗するのは、小さなデルタを持つマウスを使用した Windows の全画面表示モードのみです。誰もが完全な解決策を持っていますか? それとももっと良いものですか?
c# - マウスホイールを使用してパネルをスクロールするにはどうすればよいですか?
フォームにAutoScrollをtrueに設定したパネルがあるので、スクロールバーが自動的に表示されます。
ユーザーがマウスホイールを使用してパネルをスクロールできるようにするにはどうすればよいですか?ありがとうSO。
winapi - Win32ポップアップメニューはスクロールホイールに応答できますか?
ぼんやりとした標準のWin32ポップアップメニューがあり、画面よりも高いとします。上部に上向き矢印、下部に下向き矢印が表示されるため、ユーザーはアイテムをスクロールできます。
そのようなメニューがマウスホイールのスクロールに応答することはまったく可能ですか?スクロールホイールイベントは、メニューではないフォーカスされたコントロールに送信されるため、通常は、メニューの背後にあるテキストエディタが代わりにスクロールします。
更新:つまり、スクロールホイールのイベントをルーティングする方法や、ポップで開いたメニューに送信してプログラムでノッチを上下にスクロールできるメッセージはありますか?