CPropertyPageでフォーカスが指定できない

MFCやってるとよくわからない仕様にぶち当たることが多いです。

今回はCPropertyPageに配置した複数のコントロールに対してOnSetActiveでフォーカスを手動指定しているはずなのに反映されないという事象です。

どうやらOnSetActiveではフォーカス指定のタイミングがはやいようです。参考リンクをもとにフォーカス指定のためのユーザー定義メッセージを追加し、ON_MESSAGEでメッセージの処理関数を登録します。その上でOnSetActiveからユーザー定義メッセージを送信しなければなりません。

参考

CodeGuru Forums
タイトルとURLをコピーしました