Den aktuellen Tag auswählen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Gitter anpassen - Index

Nachdem die Kalenderzellen mit Werten gefüllt sind, wäre es sinnvoll, die Zelle zu markieren, die den aktuellen Tag enthält. Standardmäßig ist immer die linke obere Zelle markiert. Die Eigenschaften Row und Column müssen daher sowohl bei der ersten Anzeige des Kalenders als auch bei jeder Änderung des Datums gesetzt werden.

Um die Markierung auf den aktuellen Tag zu setzen, ist eine Änderung der Methode UpdateCalendar erforderlich. Die Eigenschaften Row und Column müssen vor dem Aufruf von Refresh gesetzt werden:

procedure TSampleCalendar.UpdateCalendar;
begin
  if FDate <> 0 then
  begin
    .  { Anweisungen zum Setzen von FMonthOffset }
    .
    .
    Row := (ADay - FMonthOffset) div 7 + 1;
    Col := (ADay - FMonthOffset) mod 7;
  end;
  Refresh; { ist bereits vorhanden }
end;
void __fastcall TSampleCalendar::UpdateCalendar(void)
{
  unsigned short AYear, AMonth, ADay;
  TDateTime FirstDate;
  if ((int) FDate != 0)
  {
  .
  .
  .                                            { Anweisungen zum Setzen von FMonthOffset }
    Row = (ADay - FMonthOffset) / 7 + 1;
    Col = (ADay - FMonthOffset) % 7;
  }
  Refresh();                                  // Dies war schon da
}

Die vorher durch eine Decodierung des Datums festgelegte Variable ADay wird hier erneut verwendet.

Siehe auch