PDA

Ver la Versión Completa : Sobre dbctrlGrid y color


Carmelo Cash
03-10-2012, 01:41:00
Hola Foro:

Estoy trabajando con Delphi 7, y tengo una consulta que devuelve lo siguiente:

ID Tramite color
-- ------- ----
1 Reclamos clRed
2 Memos clGreen
3 Quejas clBlue


etc.


Lo conecté a un dbctrlGrid y necesito que la grilla me quede en colores y que quede algo así:


---------
Reclamos
---------
Memos
---------
Quejas
---------

(Aunque en realidad lo que necesito es que el fondo sea en color y las letras en negro)

Estuve viendo algunos hilos pero no logro resolverlo.

Espero que alguien pueda darme alguna indicación.

Desde ya gracias por su atención.

ecfisa
03-10-2012, 09:25:14
Hola Carmelo Cash.


...
uses
StrUtils;

procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid; Index: Integer);
var
R: TRect;
Tramite: string;
begin
with DBCtrlGrid do
begin
R:= Rect(0, 0, PanelWidth, PanelHeight);
Tramite:= DBCtrlGrid.DataSource.DataSet.FieldByName('Tramite').AsString;
case AnsiIndexStr(Tramite,['Reclamos','Memos','Quejas']) of
0: Canvas.Brush.Color:= clRed; // Reclamos
1: Canvas.Brush.Color:= clGreen; // Memos
2: Canvas.Brush.Color:= clBlue; // Quejas
end;
Canvas.FillRect(R);
if PanelIndex = Index then
Canvas.DrawFocusRect(R);
end;
end;


Saludos.

Carmelo Cash
03-10-2012, 18:11:32
Funcionó perfecto, Muchas gracias ecfisa. Saludos.