Windows 7 で最新の外観を得るために、古いアプリケーションを書き換えています。GUI 要素は、明示的なコード (特別なレイアウト マネージャーなし) を介して作成および移動されます。いくつかの歴史的な理由により、GUI イベントは標準的な方法で処理されませんでした。それらはリダイレクトされました。特に何に焦点を当てるべきかわからない場合、それらを追跡することはかなり困難です。
研磨する必要があるウィンドウの例を次に示します。ダイアログではありません。上部に配置されたクラシカルで大きな窓です。ただし、ダイアログの外観を模倣する必要があります。ウィンドウは、ATL::CWindow に基づく私のクラスWTL::CTabControlT<CControl>
である場所を使用します -- 最初に画像を参照してください:CControl
写真からはよく見えませんが、赤い矢印の先は静的テキストの灰色の背景を示しています。ただし、タブ自体の背景は白です。
- 静的テキストの灰色の背景を引き起こすイベントは何ですか? ですか
WM_CTLCOLORSTATIC
。または、どこに問題がありますか?タブの背景は白または灰色 (標準の動作) であると予想されますか? - タブのリストボックスも同じ(白)背景にすることを(ビジュアルインターフェイス、ユーザーエクスペリエンスのデザイナーが)推奨していますか?
- 外側のウィンドウは
COLOR_3DFACE
ATL マクロで定義されていますDECLARE_WND_CLASS_EX
。タブ ウィンドウの背景をペイントする原因となっているイベントはどれですか?
助けてくれてありがとう、ペトル