Delphi2007のTDateTimePickerの背景色

解決


VistaでDelphi2007  2008-04-01 04:06:16  No: 30343  IP: [192.*.*.*]

はじめまして。

当方、Delphi2007を使用しています。
TDateTimePickerのColorプロパティにて背景色を変更しているのですが
WindowsVistaで実行すると白色になってしまいます。
XPでは正常に設定色で表示されます。

Delphi7でも作成してみたのですが、
こちらはVistaでも設定色で表示されています。

Delphi2007で作成した場合、Vista上ではカレンダーがかっこいい表示
(おかしな表現ですいません)になっているのですが、
これが原因なのでしょうか?

編集    削除
VistaでDelphi2007  2008-04-01 04:15:27  No: 30344  IP: [192.*.*.*]

補足です。

実行時は最初の一瞬だけ設定色で表示され、その後
コンボボックス風の矢印や日付が描画されるタイミングで白に変わっているようです。

編集    削除
もにゃ  2008-04-01 12:53:56  No: 30345  IP: [192.*.*.*]

こんばんわー。
外してるかも知れませんが、
それはxpテーマを有効にしているかどうかが影響します。
たぶんお使いのxpがクラシック表示なのでしょう。
xpテーマの対応はdelphi7以降ならusesにXPManが入っていればONになります。その場合標準インターフェースはxpテーマに統一されます。
VCLの独自仕様は無視されるということです。
でも、xpテーマをOSでOFFにしている環境ではクラシック表示が有効になるので、人に配るソフトなら両方に対応する必要があります。

編集    削除
VistaでDelphi2007  2008-04-01 19:30:48  No: 30346  IP: [192.*.*.*]

もにゃ さんありがとうございます。

xpテーマの場合はAPIを利用して自力でセットする必要があるということでしょうか。
いろいろ試してみたいと思います。
ありがとうございました。

編集    削除
VistaでDelphi2007  2008-04-04 20:38:53  No: 30347  IP: [192.*.*.*]

よく考えると、APIで色をセットしたところで
DelphiのComctrl.pas等でテーマ色をセットしている部分を
修正しない限りは意味がないんですよね。

とりあえず、解決方法は調査中ですが
糸口は見つかったような気がしますので解決とします。

ありがとうございました。

編集    削除
VistaでDelphi2007  2008-04-04 21:12:35  No: 30348  IP: [192.*.*.*]

解決にチェックをつけ忘れていました。

編集    削除