私は、フォームにTDateTimePicker
のDelphi 2007で構築されたアプリケーションを持っています。この日付時刻選択ツールのプロパティはTrue
に設定されています。日付または時刻の隣にチェックボックスが表示され、ユーザーが日付を選択するたびに自動的に選択されるか、コードによって日付または時刻が変更されます。このチェックボックスの状態は、ユーザーが手動で制御することもでき、その状態はChecked
プロパティで判断できます。Windows 7でTDateTimePicker.Checkedが常にTrueを返すのはなぜですか?
次のコードは、OnChange
イベントでは、このチェックボックスの状態を判断する方法を示しています。
procedure TForm1.FormCreate(Sender: TObject);
begin
DateTimePicker1.ShowCheckbox := True;
end;
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
ShowMessage('Checked: ' + BoolToStr(DateTimePicker1.Checked, True));
end;
期待通りに上記のコードは、Windows XP上で動作しますが、Windows 7上で、Checked
プロパティは常にTrueを返しますそのチェックボックスの実際の状態にかかわらず。
Checked
プロパティは、チェックボックスがオフの場合でも、常にTrueを返すのはなぜですか?何らかの形でこれを修正するか回避する方法はありますか?
P.S.私のアプリケーションはWindowsのテーマを使用しています
ありがとうございました: – Re0sless
「既知の問題」はD2009で修正されました。 –
この回避策にはOSの問題はありますか?それともXP、VISTA、および7でも同じですか? – mwhobrey