Buenos días.
Estoy intentando crea un calendario con un StringGrid. En principio ya tengo solucionado casi todos los temas de pintar el calendar y marcar el día actual.
El problema surge cuando intento cargar días específicos.
Me explico…..
Si en el elemento OnDrawCell con el código
// wMes = Mes mostrado en calendario
Código Delphi
[-]
If ( StringGrid1.Cells[ACol,ARow]= nDia ) And ( wMes = nMes ) Then
begin
Canvas.Brush.Color := clRed;
Canvas.Font.Style := [fsBold];
Canvas.Font.Color := clWhite;
end;
Me marca la celda seleccionada en rojo sin ningún problema.
El problema surge cuando la carga de los datos intento hacerla de manera dinámica a trabes de una lista de fechas cargadas en un TStringList,
Código Delphi
[-]
For i := 0 To ListaFechas.Count -1 Do
Begin
DecodeDate(StrToDate(ListaFechas.Strings[i]),nAno,nMes,nDia);
If ( StringGrid1.Cells[ACol,ARow]= IntToStr(nDia) ) And (wMes = nMes) Then
begin
Canvas.Brush.Color := clRed;
Canvas.Font.Style := [fsBold];
Canvas.Font.Color := clWhite;
end;
End;
De esta segunda manera solo me marca la ultima fecha y al cargar los datos en un listBox para verificar el funcionamiento
me repite las lista de fechas una y otra vez.