Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-03-2007
richi richi is offline
Miembro
 
Registrado: jun 2006
Ubicación: Portosin - A Coruña
Posts: 51
Poder: 18
richi Va por buen camino
Ver texto en una stringrid coloreada

El caso es que tengo un procedimiento que llamo desde destintas zonas del programa para colorear la stringgrid; el problema viene cuando tengo texto introducido en donde e coloreado no me lo muestra. El procedimiento que utilizo es el siguiente:
Código Delphi [-]
procedure form.pintarStringGrid(color : TColor; fila,desde,hasta : integer);
var
  i : integer;
begin
  stringGridPEriodo.Enabled := false;
  StringGridPeriodo.Canvas.brush.Color := color;

  for i:= desde to hasta do
  begin
    StringGridPeriodo.Canvas.FillRect(StringGridPeriodo.CellRect(i,fila));
  end;
  stringGridPEriodo.Enabled := true;
end;
Al procedimiento le paso el color la fila y en esa fila desde donde hasta donde pintar.
Gracias.
Responder Con Cita
  #2  
Antiguo 29-03-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola,

no se que tal eso de hacer en un procedimiento aparte, pero yo creo que lo suyo para éste caso, sería poner ese codigo en el evento OnDrawCell del StringGrid.
O quizá podrías probar a hacer un repintado al final del procedimiento que has creado para forzar que se refresque el StringGrid.
Son dos alternativas que quizá te puedan servir.

Saludos
Responder Con Cita
  #3  
Antiguo 30-03-2007
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
Cita:
Empezado por richi
El caso es que tengo un procedimiento que llamo desde destintas zonas del programa para colorear la stringgrid; el problema viene cuando tengo texto introducido en donde e coloreado no me lo muestra. El procedimiento que utilizo es el siguiente:
Código Delphi [-]procedure form.pintarStringGrid(color : TColor; fila,desde,hasta : integer); var i : integer; begin stringGridPEriodo.Enabled := false; StringGridPeriodo.Canvas.brush.Color := color; for i:= desde to hasta do begin StringGridPeriodo.Canvas.FillRect(StringGridPeriodo.CellRect(i,fila)); end; stringGridPEriodo.Enabled := true; end;

Al procedimiento le paso el color la fila y en esa fila desde donde hasta donde pintar.
Gracias.
haces fillRect y pintas todo de nuevo (incluido el texto) te falta añadir un TextRect o un DrawText para escribir otra vez el texto de la celda
__________________
self.free;
Responder Con Cita
  #4  
Antiguo 02-04-2007
richi richi is offline
Miembro
 
Registrado: jun 2006
Ubicación: Portosin - A Coruña
Posts: 51
Poder: 18
richi Va por buen camino
Gracias por responder a los dos. Lo solocione con la respuesta de droguerman con un TextRect.
Responder Con Cita
Respuesta



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
Stringrid a Excel darkerbyte Servers 18 22-10-2007 17:11:41
Manipulando stringrid ASAPLTDA OOP 2 04-03-2005 15:02:39
Stringrid y sus celdas .... elbilla Varios 0 04-10-2004 18:40:15
stringrid edy_aca OOP 1 11-08-2004 08:57:51
SetFocus en un Stringrid jaime cotino Varios 1 03-06-2004 19:34:30


La franja horaria es GMT +2. Ahora son las 05:14:30.


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