現在の日付の選択

提供: RAD Studio
移動先: 案内検索

グリッドのカスタマイズ:インデックス への移動

カレンダーの各セルに日付が表示されるようになりました。そこで,現在の日付のセルが常に選択され,強調表示されるようにします。デフォルトでは,左上端のセルが選択されていますが,選択するセルは Row プロパティと Column プロパティで指定できます。常に適切なセルが選択されているようにするには,カレンダーを作成したときと,日付が変更されたときの両方の場合に 2 つのプロパティを設定します。

現在の日付のセルを選択するには,UpdateCalendar メソッドが Refresh を呼び出す前に RowColumn を設定します。



 procedure TSampleCalendar.UpdateCalendar;
 begin
   if FDate <> 0 then
   begin
     .  { FMonthOffset を設定する既存の文 }
     .
     .
     Row := (ADay - FMonthOffset) div 7 + 1;
     Col := (ADay - FMonthOffset) mod 7;
   end;
   Refresh; { 元からある文 }
 end;



 void __fastcall TSampleCalendar::UpdateCalendar(void)
 {
   unsigned short AYear, AMonth, ADay;
   TDateTime FirstDate;
   if ((int) FDate != 0)
   {
   .
   .
   .                                            // FMonthOffset を設定する既存の文
     Row = (ADay - FMonthOffset) / 7 + 1;
     Col = (ADay - FMonthOffset) % 7;
   }
   Refresh();                                  // 元からある文
 }



この手続きでは,コード化された日付から抽出しておいた ADay 変数を再利用しています。