図のような MFC 申請書があります。
そして、なぜマウスホイールが「Base angle:」フィールド (スピン コントロールを制御するため) で機能していたのに、「Angle」フィールドと「Range」フィールドでは機能していなかったのか疑問に思っていました。スピンボタンを直接クリックすると、完全に機能しました。
Nesting フォームの "Base angle" フィールドと "±" フィールドでも同じことが起こっていました。
私の仮説:フィールドがグループボックス内にあるために発生しています
テストのために行ったこと: 非作業フィールドが重ならないように、teo from のグループボックスの寸法を変更しました。
結果: パーツの方向ダイアログのコントロールでマウス ホイールが機能するようになりました。しかし、Nesting ダイアログでは、動作を拒否し続けました。
注: テキスト ボックスは CEdits です。それらは CString 変数を使用した DDX です。部品の向きはモーダル ダイアログです。ネスティングは、CMFCTabControl 内、CDialogBar 内、CDockablePane 内、CMainFrame 内のフォームです (これは CFrameWndEx から派生したものです)。
さて、私の推測: Part Orientation Dialog フォームの場合、グループボックスがマウス ホイール イベントを食べているのではないかと思います。Nesting Dialog については、DockablePane がマウスホイール イベントを食べていると思われます。または、私が設計したペインのレイアウトによって作成された暗黙の CTabbed ペインかもしれません。またはメインフレーム。
私の質問は次のとおりです:グループボックス内にあるスピンボタン制御のテキストボックスでマウスホイールを機能させるにはどうすればよいですか? 私のアプリダイアログには、このようなケースが他にもたくさんあります。
マウスホイールの動きを誰が処理するかを決める方法はありますか? 同じ質問が、グループボックス領域が削除され、マウス ホイールがスピンボタンを動かさないネスト フォーム コントロールにも当てはまります。
前もって感謝します、セルジオ