Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2011-05

dbgrid, color fila seleccionada

4 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Paola Bruccoleri

Hola!

He usado el evento onpreparecanvas para cambiar el color de algunas filas del grid seg�n determinados datos..
por ejemplo:
if qryObras.FieldByName('fecha_recepcionprov').AsString = '' then // verde

            begin
              Canvas.Font.Color:= $000000; //clGreen;
              Canvas.Brush.Color:= clMoneyGreen;
            end;

todo ok, PERO, cuando selecciono una fila, el color no se resalta!, por tanto, el usuario no sabe claramente en que fila est� posicionado.

C�mo puedo cambiar ese color? Estoy leyendo la wiki, que dice que est� la propiedad Selected Color pero yo no la veo!
muchas gracias
chauuuuuuuuu

Reply by email

José Mejuto
to Paola Bruccoleri

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.

Best regards, Jos�

Reply by email

Paola Bruccoleri
to José Mejuto

El 08/05/2011 06:54 a.m., Jos� Mejuto escribi�:

Show quoted text 23 lines
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

Reply by email

José Mejuto
to Paola Bruccoleri

Hello Paola,

Sunday, May 8, 2011, 7:35:56 PM, you wrote:

PB> lo que pasa es que a veces no s� la sintaxis de lo que preguntar!.. en PB> un ejemplo de delphi al final encontr� algo como PB> if (state in gdSelected) ......

Ser�a al reves:

if gdSelected in State then ...

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

Si lo haces como lo has puesto, s�lo funciona cuando el �nico atributo en State es "gdSelected", si tiene alguno m�s no te lo detecta.

Best regards, Jos�

Reply by email