一部のツールバー ボタンのように動作するコントロールを WinAPI で作成したいと考えています。ボタンをクリックすることはできますが、フォーカスすることはできません。フォーカスは、それを持っていたコントロールにとどまります。どうすればいいですか?
質問する
183 次
1 に答える
0
最終的にタスクを放棄したため、これは完全な答えではありませんが、実際にはコントロールはSetFocus(Self)
手動で行う必要があり、通常はWM_LMOUSEDOWN
ハンドラーでそれを行うことがわかりました。
したがって、ツールバー ボタンのようにクリックを処理するには、それを行わなくても十分です。
問題は、標準コントロールと一般的なフレームワークが通常、内部の奥深くでこれを自動的に行うことです。MFC や VCL などのフレームワークでは、これを何らかの方法でハッキングできる可能性がWM_LMOUSEDOWN
あります。BUTTON コントロールの標準ハンドラーは SetFocus を実行するようで、クリック処理も行うため単純にスキップすることはできません。
于 2013-04-24T07:34:25.557 に答える