我的程序如何对TDateTimePicker中的更改做出反应?

时间:2012-02-16 11:06:54

标签: delphi delphi-2010 datetimepicker

我想知道当用户从TDateTimePicker组件中选择特定日期时如何更改标签的标题。

比如说: 如果在TDateTimePicker组件上标记为06/02/2012,则label1的标题将变为“Hello World”,否则如果是其他任何日期则不会发生任何事情。

1 个答案:

答案 0 :(得分:7)

您需要为日期时间选择器编写OnChange事件处理程序。您还需要确保在表单首次显示时运行此事件处理程序:

procedure TForm1.UpdateDateTimeLabel;
var
  SelectedDate, SpecialDate: TDateTime;
begin
  SelectedDate := DateTimePicker1.DateTime;
  SpecialDate := EncodeDate(2012, 2, 16);
  if IsSameDay(SelectedDate, SpecialDate) then
    Label1.Caption := 'Hello World'
  else
    Label1.Caption := '';
end;

procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
  UpdateDateTimeLabel;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  UpdateDateTimeLabel;
end;