Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Ayuda. Como coloreo un dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=44246)

OscarBravo 01-06-2007 01:42:32

Ayuda. Como coloreo un dbgrid
 
Saludos a todos.

Solicito su ayuda en lo siguiente:

Tengo un dbgrid en el cual utilizo tres colores uno para las filas pares, otro para las impares y el último para el cursor (para saber en donde estoy ubicado). Utilizo el siguiente codigo


Código Delphi [-]
procedure TFrmHelpEmpre_Est.DBGridBusquedaDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  If (Dm.cdsEmpre_Est.RecNo Mod 2)=0 Then
      DBgridBusqueda.Canvas.Brush.Color:= $00FAF5F1
  else DBGridBusqueda.Canvas.Brush.Color:= $00FFFFFF;
  If (gdFocused in State) Then  
         DbGridBusqueda.Canvas.Brush.Color:= $000C95F;
 
  DbGridBusqueda.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;




Este codigo me funciona, pero cuando el DbGrid Pierde el foco, el color del cursor del dbgrid se pierde y cuando hago clic en el dbgrid vuelve a aparecer a pesar de que la propiedad dgAlwaysShowSelection esta True

Estando dgRowSelect en True el cursor solo se mueestra en la primera de 2 columnas que contiene el dbgrid

¿Como mantengo siempre el cursor visible en el DbGrid ?

¿Como muestro el cursor como una linea que cubra todas las columnas mas no una sola columna?

Gracias por leer este mensaje.

Neftali [Germán.Estévez] 01-06-2007 11:16:49

Creo que no está perdiend el foco, sino que al repintando lo estás "machacando" y dejas de verlo.
Creo que en ese procedimiento deberías tener en cuenta también el estado gdSelected del DBGrid.

Lepe 01-06-2007 11:20:53

además de gdAlwaysShowSelection, para que no pierda el foco, usa la propiedad HideSelection a false.

Saludos


La franja horaria es GMT +2. Ahora son las 01:23:32.

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