Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: MonthCalendar1.BoldDays mit variablen

  Alt 15. Feb 2005, 15:40
Hier ein Beispiel, wie man 3 Tage "bold" macht:
Delphi-Quellcode:
procedure TForm1.MonthCalendar1GetMonthInfo(Sender: TObject; Month: Cardinal; var MonthBoldInfo: Cardinal);
   procedure MakeBoldDay(day : Integer);
   begin
      MonthBoldInfo := MonthBoldInfo or (1 shl (day-1));
   end;
begin
   MonthBoldInfo := 0; // alle Tage "normal"
   MakeBoldDay(13);
   MakeBoldDay(17);
   MakeBoldDay(21);
end;
Und jetzt für ein ganzes Jahr:
Delphi-Quellcode:
var
   boldMonths: array[0..11] of Cardinal;
...

procedure ClearAll;
var
   i : integer;
begin
   for i := Low(boldMonths) to High(boldMonths) do boldMonths[i] := 0;
end;

procedure MakeBoldDay(month,day : Integer);
begin
   boldMonths[month] := boldMonths[month] or (1 shl (day-1));
end;

procedure TForm1.MonthCalendar1GetMonthInfo(Sender: TObject; Month: Cardinal; var MonthBoldInfo: Cardinal);
begin
   MonthBoldInfo:= boldMonths[Month];
end;

procedure SetupAll;
begin
   ClearAll; // alle Tage Normal
   MakeBoldDay(1, 1); // Neujahr
   MakeBoldDay(12, 24); // Weihnachten
   ....
end;
Andreas
  Mit Zitat antworten Zitat