CComboBox
をオーバーライドするサブクラスを含む大規模な MFC アプリケーションを継承しましたOnPaint
。現在、(線と四角形を使用して) すべての描画を手作業で行い、明らかに Windows 98 スタイルに見えるコンボ ボックスをレンダリングします。ただし、それ以外の点ではうまく機能し、私たちが依存している多くの便利なカスタム機能を提供します。コントロール全体を書き直すことはおそらく選択肢ではありません。
可能な場合は Aero スタイルで描画できるように最新化したいと思いOnPaint
ます (最新のテーマが利用できない場合は古いコードに戻ります)。ボタンなど、他のいくつかのカスタム コントロールを使用してこれを行いましたが、この目的には最適です。マウスホバー時の穏やかなハイライトなど、正しく動作しない小さな動作があることは知っていますが、それはこのアプリでは大した問題ではありません.
CVisualStylesXP
私はckass にアクセスできるのでOpenThemeData
、のようGetThemeColor
な呼び出しを行うためのインフラストラクチャを既に持っていDrawThemeBackground
ます ( LoadLibrary
Vista を最小システムとして強制しません)。残念ながら、テーマに適した境界線とドロップダウン ボタンを備えた見栄えの良いコンボ ボックスを取得するための適切な呼び出しシーケンスがわかりません。
ここで何をすべきか知っている人はいますか?