Delphi 2007で構築されTDateTimePicker
た、フォーム上のアプリケーションがあります。この日時ピッカーのShowCheckbox
プロパティはに設定されておりTrue
、日付または時刻の横にチェックボックスが表示されます。このチェックボックスは、ユーザーが日付を選択したとき、または日付または時刻がコードによって変更されたときに自動的に選択されます。このチェックボックスの状態は、ユーザーが手動で制御することもでき、その状態はChecked
プロパティによって決定できます。
OnChange
次のコードは、イベントでこのチェックボックスの状態を判別する方法を示しています。
procedure TForm1.FormCreate(Sender: TObject);
begin
DateTimePicker1.ShowCheckbox := True;
end;
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
ShowMessage('Checked: ' + BoolToStr(DateTimePicker1.Checked, True));
end;
上記のコードはWindowsXPで期待どおりに機能しますが、Windows 7では、Checked
チェックボックスの実際の状態に関係なく、プロパティは常にTrueを返します。
Checked
チェックボックスがオフの場合でも、プロパティが常にTrueを返すのはなぜですか?どういうわけかこれを修正または回避する方法はありますか?
PS私のアプリケーションはWindowsテーマを使用しています