質問

テーマ ライブラリを使用してテキストを描画していますが、Windows Vista ではまったく問題なく動作しますが、Windows XP では返される HTHEME は NULL です。これは私が使用しているコードです:

HTHEME hTheme = ::OpenThemeData(pParent, L"TEXTSTYLE");

hTheme は Vista では有効ですが、Windows XP では NULL です。
のドキュメントを読みました オープンテーマデータ そして 部品と状態 MSDN にありますが、TEXTSTYLE が XP でサポートされていないことについては何も言及されていません (Google でさえ適切な提案を表示しません)。

役に立ちましたか?

解決

テーマ「ルナ」(すなわち、XP とともに配布される Microsoft 製のテーマ) は、Aero (Windows Vista および 7) のクラスと一部のサブセットのみを定義します。

Windows XP および Vista (または 7) を搭載したマシンにアクセスできる場合は、テーマ エクスプローラー ユーティリティで定義されている内容をプレビューできます。http://sourceforge.net/projects/mctrl/files/theme-explorer/

他のヒント

XPではまだテーマがオンになっていると思いますか?「バブルガム」モードをオフにしている場合、つまりクラシックな外観に戻すと、テーマ API はすべて失敗し、従来の API を使用してフレーム要素を描画することになります。 DrawFrameControl

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top