Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-04-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.009
Poder: 20
oscarac Va por buen camino
Color en Linea DBGRID

se que este tema se ha tratado en innumerable ocasiones pero he probado todos los ejemplos habidos y por haber y no logro encontrar una solucion

tengo una consulta donde jalo el color que quiero que se pinte en el grid de acuerdo a cierta caracteristica (predefinida en el query)m el asunto que el campo qryArticulosColor debe ser 0 o un dato (TColor) que puede ser diferente

la idea es pintar las lineas del grid de acuerdo a un color predeterminado (varios colores)

Código Delphi [-]
procedure TfrmCatalogoArticulo.dbgArticuloDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Chk : Integer;
begin

  if qryArticulosColor.AsInteger <> 0 then
  Begin
    UnColor := qryArticulosColor.AsInteger;
    dbgArticulo.Canvas.brush.Color := clUnColor;
    dbgArticulo.Canvas.Font.Color := clBlack;
  End
  Else
  Begin
    dbgArticulo.Canvas.Font.Color := clBlack;
    dbgArticulo.Canvas.brush.Color := clWhite;
  End;
  dbgArticulo.Canvas.FillRect(Rect);
end;


y obtengo como resultado esto :




si cambio algunos valores del campo "Color" me sale esto



si bien es cierto pinta toda la linea del color previamente escogido, el texto no esta en negro y lo que no esta asignado color tampoco aparece
__________________
Dulce Regalo que Satanas manda para mi.....

Última edición por oscarac fecha: 25-04-2019 a las 22:32:11.
Responder Con Cita
  #2  
Antiguo 25-04-2019
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Intentalo de este modo:
Código Delphi [-]
procedure TfrmCatalogoArticulo.dbgArticuloDrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  gr: TDBGrid;
begin
  gr := TDBGrid(Sender);

  if qryArticulosColor.AsInteger > 0 then
    gr.Canvas.Brush.Color := qryArticulosColor.AsInteger
  else
    gr.Canvas.brush.Color := clWhite;

  gr.Canvas.Font.Color  := clBlack;
  gr.Canvas.FillRect(Rect);
  gr.DefaultDrawColumnCell(Rect, Datacol, Column, State);
end;

Salida ejemplo:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 25-04-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.009
Poder: 20
oscarac Va por buen camino
funciona, pero hay un detalle
no se ve resaltado la linea en que esta el registro activo.

se puede colocar un color diferente cuando el registro sea el activo? y cuando cambie de registro que devuelva el color que tenia originalmente
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 25-04-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.009
Poder: 20
oscarac Va por buen camino
SOLUCION :

Código Delphi [-]
if gdSelected in State then
  Begin
    dbgArticulo.Canvas.Font.Color := clBlue;
    dbgArticulo.Canvas.Brush.Color := clGray;
  End
  Else
  Begin
    dbgArticulo.Canvas.Font.Color := clBlack;
  End;


gracias mil
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Color linea IWdbgrid aposi Internet 1 22-04-2015 20:30:23
Cambiar Color de linea de borde rruffino OOP 0 06-02-2009 17:53:59
Cambio de Color de una linea de codigo en Delphi IDE elopezf OOP 3 28-06-2007 13:01:36
Cada linea de un color judoboy Impresión 1 22-09-2003 17:35:10
Cambio color en una linea dbgrid nugame Gráficos 2 19-05-2003 18:58:29


La franja horaria es GMT +2. Ahora son las 21:16:52.


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
Copyright 1996-2007 Club Delphi