[Lazarus-es] dbgrid, color fila seleccionada

Paola Bruccoleri pbruccoleri en adinet.com.uy
Dom Mayo 8 19:35:56 CEST 2011


El 08/05/2011 06:54 a.m., José Mejuto escribió:
> Hello Paola,
>
> Saturday, May 7, 2011, 11:11:11 PM, you wrote:
>
> PB>  Hola!
>
> PB>  He usado el evento onpreparecanvas para cambiar el color de algunas
> PB>  filas del grid según determinados datos..
> PB>  por ejemplo:
> PB>         if
> PB>  qryObras.FieldByName('fecha_recepcionprov').AsString = ''
> PB>  then  // verde
> PB>              begin
> PB>                Canvas.Font.Color:= $000000; //clGreen;
> PB>                Canvas.Brush.Color:= clMoneyGreen;
> PB>              end;
> PB>  todo ok, PERO, cuando selecciono una fila, el color no se resalta!, por
> PB>  tanto, el usuario no sabe claramente en que fila está posicionado.
>
> No se resalta por que eres tu la que tiene que hacer lo mismo que con
> "fecha_recepcionprov", sólo que si indica que está "selected" has de
> usar otro color o llamar al método de pintado por defecto.
>
si.. al final hice esto:

       if (AState = [gdSelected]) then
         begin
           Canvas.Font.Color:= $FFFFFF;
           Canvas.Brush.Color:= $008C1209;
         end
       else
        ...... todo lo demás..

lo que pasa es que a veces no sé la sintaxis de lo que preguntar!.. en 
un ejemplo de delphi al final encontré algo como

if (state in gdSelected) ......

pero eso me daba errores de sintaxis. No sé si es porque en delphi se 
usa otra sintaxis o los parámetros son de diferente tipo, pero se me 
ocurrió poner el state entre corchetes y ahí quedó!

muchas gracias igual
chauuuuuuuu






More information about the Lazarus-es mailing list