Den aktuellen Tag auswählen
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.