Как моя программа может реагировать на изменения в TDateTimePicker? - PullRequest
6 голосов
/ 16 февраля 2012

Я хотел бы знать, как изменить заголовок метки, когда пользователь выбирает конкретную дату из компонента TDateTimePicker.

Скажем, к примеру: если 02/02/2012 было отмечено в компоненте TDateTimePicker, заголовок label1 станет «Hello World», иначе ничего не произойдет, если это будет другая дата.

1 Ответ

7 голосов
/ 16 февраля 2012

Вам нужно написать обработчик событий 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;
...