ダイアログボックスにモードの少ないプロパティシートを埋め込みました。私はコントロールの新しいウィンドウクラスを使用しませんでしたが、プロパティシートをダイアログのコンテナの子にしました。 1つのこと以外はすべて正常に動作します。ユーザーがプロパティシートをクリックすると、ダイアログのタイトルバーが青(ACTIVE)からグレー(INACTIVE)に変わります。私はプロパティシートがユーザへのダイアログの一部であるように見えるので、プロパティシートがアクティブなときにダイアログのタイトルバーを青色にしておきたい。プロパティシートにはタイトルバーはありません。アクティブなウィンドウ - タイトルバーの青色/灰色の変更を防ぐ方法
C++のWin32APIなしMFC
質問:
1)プロパティシートがアクティブなときに、ダイアログのタイトルバーの青を保つためにいくつかの方法がありますか?
2)プロパティシートに新しいウィンドウクラスを使用し、そのクラスを使用してコントロールをダイアログに追加した場合の動作は異なりますか?
wParam Trueを使用してダイアログに「WM_NCACTIVATE」を送信できますが、アプリケーションがフォーカスを失うとコンサートの外に出ると思います。 –
@Sertac Akyus:ありがとう!私はそれを完璧にすることはできませんが、私はそれをより良くすることができます。 WM_NCACTIVATE TRUEを実行すると、ダイアログが無効になってプロパティシートが優先され、アクティブになったときにかなりうまく機能します。残りのケースは、別のウィンドウがアクティブになってユーザーがマウスクリックでプロパティシートに戻るときです。私はもちろん、主要なプロパティシートのダイアログで悩むことはできません。 –
プロパティシートから追加コールバックがこのようなものにあった場合はいいでしょう。 –