1

一部のツールバー ボタンのように動作するコントロールを WinAPI で作成したいと考えています。ボタンをクリックすることはできますが、フォーカスすることはできません。フォーカスは、それを持っていたコントロールにとどまります。どうすればいいですか?

4

1 に答える 1

0

最終的にタスクを放棄したため、これは完全な答えではありませんが、実際にはコントロールはSetFocus(Self)手動で行う必要があり、通常はWM_LMOUSEDOWNハンドラーでそれを行うことがわかりました。

したがって、ツールバー ボタンのようにクリックを処理するには、それを行わなくても十分です。

問題は、標準コントロールと一般的なフレームワークが通常、内部の奥深くでこれを自動的に行うことです。MFC や VCL などのフレームワークでは、これを何らかの方法でハッキングできる可能性がWM_LMOUSEDOWNあります。BUTTON コントロールの標準ハンドラーは SetFocus を実行するようで、クリック処理も行うため単純にスキップすることはできません。

于 2013-04-24T07:34:25.557 に答える