标签: tdatetimepicker

为什么TDateTimePicker.Checked在Windows 7上总是返回True?

我有一个应用程序,在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;
Run Code Online (Sandbox Code Playgroud)

上面的代码在Windows XP上按预期工作,但在Windows 7上,Checked无论该复选框的实际状态如何,该属性都返回True.

为什么Checked属性返回始终为True,即使取消选中复选框也是如此?有办法以某种方式修复或解决这个问题吗?

PS我的应用程序使用Windows主题

delphi delphi-2007 windows-7 tdatetimepicker

6
推荐指数
1
解决办法
2407
查看次数

Delphi TDateTimePicker问题,"未能设置最小/最大范围"

我的应用程序的一些用户有一个奇怪的问题,在启动时他们得到一个例外的datitimepickers,其预定的最小/最大日期设置为1950年1月1日 - 2050年12月31日.

应用程序抛出的默认错误消息是

"读取time1.Max时出错:无法设置日历最小/最大范围."

在嵌入调试器(madshi的madExcept)后,我在报告中看到:

"阅读时间错误1.MaxDate:'23:59:59'不是有效的日期和时间."

表单上的对象具有以下属性:

            Date = 39773.494141041670000000
            Format = 'MMM yyyy'
            Time = 39773.494141041670000000
            MaxDate = 55153.999988425920000000
            MinDate = 18264.000000000000000000
Run Code Online (Sandbox Code Playgroud)

知道可能是什么问题吗?

崩溃数据:

主线程($ 2b08):

> 0051501b +0a7 app.exe System.Classes 10430   +5 HandleException
> 00515255 +1f5 app.exe System.Classes 10487  +48 TReader.ReadProperty
> 00514a65 +015 app.exe System.Classes 10233   +1 TReader.ReadDataInner
> 00514a47 +067 app.exe System.Classes 10226  +11 TReader.ReadData
> 0051de05 +001 app.exe System.Classes 15947   +0 TComponent.ReadState
> 0057d017 +02f app.exe Vcl.Controls    5567   +3 TControl.ReadState
> 00581481 +025 app.exe …
Run Code Online (Sandbox Code Playgroud)

delphi tdatetimepicker

2
推荐指数
1
解决办法
1595
查看次数

TDateTimePicker缺少使用DELPHI XE2的OnDblClick事件

如果这个问题听起来有些愚蠢,请道歉,但是对于XE2,我可以看到TDateTimePicker的OnDblClick事件似乎在事件列表中缺失.真的是这样吗?以下是我的进展方式:

  • 我开始一个新的VCL应用程序
  • 在默认表单上实例化一个TDateTimePicker

我可以看到,TDateTimePicker的事件列表中缺少OnDblClick事件.另一方面,使用Delphi 7,它工作正常,我可以看到OnDblClick事件.到目前为止,我没有找到任何相关信息.

是否有一些人需要做的额外设置,或者我只是错过了一些明显的步骤?

delphi delphi-xe2 tdatetimepicker

2
推荐指数
1
解决办法
147
查看次数

TDatetimePicker格式显示错误

如果我设置TDateTimePicker组件(Delphi XE10)的属性"格式",例如.DDD d /米/ yyyy的话,就说明星期二14/ 47 /2016年!! 和日期31/12/2016为31/ 0 /2016!发生了什么事,拜托?

delphi tdatetimepicker

2
推荐指数
1
解决办法
401
查看次数