Hi Guys and girls,
I'm using a TMonthCalander to display Dates, I'm using the BoldDays method to bold the important days.
I have everything working fine when the user changes the month via the TMonthCalander controls.
But I can not bold the days when they click a button.
I've tried calling the GetMonthInfo method manually but it does not bold the days. It is finding the correct days to Bold but does not Bold them. As soon as I change the month on the calendar it starts bolding the correct days again.
Thanks in advance for any help.
// my GetMonthInfo method which is assigned to my TMonthCalander called da
procedure TChangeRepeatBooking.daGetMonthInfo(Sender: TObject; Month: Cardinal;
var MonthBoldInfo: Cardinal);
var
startDate : TSysDate;
finishDate : TSysDate;
boldDays : array[1..31] of cardinal;
begin
startDate := DateTimeToSysDate(StartDatePicker.Date);
finishDate := DateTimeToSysDate(FinishDatePicker.Date);
FillChar(boldDays,sizeof(boldDays),Char(0));
while TimeDiff(@startDate,@FinishDate) >= 0 do
begin
if (CheckDays(DayOfWeek(SysDateToDateTime(startDate)))) and (MonthOf(SysDateToDateTime(startDate)) = Month) then
begin
boldDays[DayOfTheMonth(SysDateToDateTime(startDate))] := DayOfTheMonth(SysDateToDateTime(startDate));
end
else if (MonthOf(SysDateToDateTime(startDate)) = Month) then
boldDays[DayOfTheMonth(SysDateToDateTime(startDate))] := 0;
AddTimeHours(startDate,24);
end;
da.BoldDays( boldDays,MonthBoldInfo);
cardinalMonthBold := MonthBoldInfo;
end;
//when they click a button it calls this method like so
cardinalMonth := MonthOf(da.date);
daGetMonthInfo(self,cardinalMonth,cardinalMonthBold);