Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Pregunta sobre DefaultDrawColumnCell(rect,DataCol,Column,State); (https://www.clubdelphi.com/foros/showthread.php?t=70139)

ses27coves 01-10-2010 20:04:56

Pregunta sobre DefaultDrawColumnCell(rect,DataCol,Column,State);
 
Hola de nuevo. tengo un apregunta. Porque al aplicar el procedimiento de abajo aparte de conseguir cambiar el color de la letras de la fila con un valor si en el campo verificado pone si, tambien se muestra la fila "activa, actual" en negrita?

Código Delphi [-]
procedure Tfrprincipal.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
    if Column.Field.Dataset.FieldbyName('verificado').asstring = 'si' then
       dbgrid1.Canvas.Font.Color:= clHotLight;
    dbgrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
end;

El problema es que no quiero que este en negrita i no se de donde me viene.

ecfisa 01-10-2010 23:14:58

Hola ses27coves.

Ese código que pusiste no es la causa de que te aparezca el texto en negrita. Por que en ningún momento hace
referencia a la propiedad Style del Font... Seguramente la asignación esté en otro lado del programa.

De todos modos, aunque es parchear el problema, probá agregando esta línea al evento:
Código Delphi [-]
begin
  if Column.Field.Dataset.FieldbyName('verificado').AsString = 'si' then
  begin
    DBGRid1.Canvas.Font.Style:= DBGrid1.Canvas.Font.Style - [fsBold];
    dbgrid1.Canvas.Font.Color:= clHotLight;
  end;
  dbgrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
end;


Saludos. :)

ses27coves 02-10-2010 01:18:52

Esto no me funciona.

He revisado todo el codigo pero en ningun lugar hago nada en negrita.

Si elimino la ultima linea (dbgrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);) esto deja de suceder pero tampoco me cambia de color la fila que deseo.

Me he fijado y en realidad no es negrita, ya que si lo pongo todo en negrita sigue resaltando. He revisado las propiedades en tiempo de diseño, pero no veo ninguna que pueda afectarme.

Sabeis si hay alguna propiedad que haga esto?

ecfisa 03-10-2010 00:32:29

Cita:

Empezado por ses27coves (Mensaje 378170)
Esto no me funciona.

He revisado todo el codigo pero en ningun lugar hago nada en negrita.
Sabeis si hay alguna propiedad que haga esto?

Hola.

Es claro que si el texto no estaba en negrita, no te iba a cambiar nada... ;)

Creo que primeramente deberías especificar bién que tipo de salida deseas obtener.
Font: Color de fondo, color de texto, nombre de fuente, tamaño, etc.
Estilo: Negrita, itálica, subrayada...

Con esos datos sería mucho más fácil decirte que atributos debés incluir.

Saludos. :)


La franja horaria es GMT +2. Ahora son las 06:48:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi