Sélection du jour en cours

De RAD Studio
Aller à : navigation, rechercher

Remonter à Personnalisation d'une grille - Index

Maintenant que les numéros des jours s'affichent dans les cellules du calendrier, il devient intéressant de savoir positionner la surbrillance sur le jour en cours. Comme la sélection se positionne implicitement sur la cellule située en haut et à gauche, vous devez définir les propriétés Row et Column au moment de la construction initiale du calendrier ainsi qu'à chaque changement de date.

Pour positionner la sélection dans la cellule du jour en cours, modifiez la méthode UpdateCalendar pour définir Row et Column avant d'appeler Refresh :



 procedure TSampleCalendar.UpdateCalendar;
 begin
   if FDate <> 0 then
   begin
     .  { instructions définissant FMonthOffset }
     .
     .
     Row := (ADay - FMonthOffset) div 7 + 1;
     Col := (ADay - FMonthOffset) mod 7;
   end;
   Refresh; { déjà ici }
 end;



 void __fastcall TSampleCalendar::UpdateCalendar(void)
 {
   unsigned short AYear, AMonth, ADay;
   TDateTime FirstDate;
   if ((int) FDate != 0)
   {
   .
   .
   .                                            // instructions définissant FMonthOffset
     Row = (ADay - FMonthOffset) / 7 + 1;
     Col = (ADay - FMonthOffset) % 7;
   }
   Refresh();                                  // déjà ici
 }



Notez que vous réutilisez la variable ADay précédemment définie lors du décodage de la date.