Ver Mensaje Individual
  #1  
Antiguo 29-08-2011
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 193
Reputación: 20
ramonibk Va por buen camino
Marcar Celdas en StringGrid

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.

Última edición por ramonibk fecha: 29-08-2011 a las 20:26:25.
Responder Con Cita