Delphi - Cambiar color de fondo de celda de stringgrid

 
Vista:

Cambiar color de fondo de celda de stringgrid

Publicado por Manolo Correa (5 intervenciones) el 28/06/2005 19:17:03
Hola.

He buscado y he encontrado en internet ejemplos para cambiar el color de fondo de una celda pero debo ser que mi torpeza de principiante me impide hacerlos funcinar.

Según esto con stringgrid1.canvas.brush.color := colorQueSea cambiar el color, pero de que celda????? Alguien me puede poner un ejemplo sencillo un procedimiento que pasandole los indices de la celda y un color me cambie el color de fondo de esa celda.

Seguro que es facil, pero hoy estoy especialmente torpe.

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cambiar color de fondo de celda de stringgrid

Publicado por Jose Luis (1 intervención) el 04/03/2009 21:09:18
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
Grid : TStringGrid;
Texto : String;
Alineacion : Integer;
begin
Grid := TStringGrid(Sender);
Grid.Canvas.FillRect(Rect);
Texto := Grid.Cells[ACol,ARow];
if Acol = 0 then Alineacion := DT_RIGHT;
if Acol = 1 then Alineacion := DT_CENTER;
if Acol = 2 then Alineacion := DT_LEFT;
DrawText( Grid.Canvas.Handle,
PChar(Texto),
StrLen(PChar(Texto)),
Rect,
ALINEACION);
{ NOMBRE es el nombre del campo a pintar de otro color }
{ NOMBRE this the field name to paint in a diferent color }
if Acol in [2] then
begin
(Sender as TStringGrid).Canvas.FillRect(Rect);
(Sender as TStringGrid).Canvas.Font.Color := clGreen; { En rojo / in red }
(Sender as TStringGrid).Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2,Texto);
end;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Cambiar color de fondo de celda de stringgrid

Publicado por Abigail (1 intervención) el 08/08/2014 22:56:52
Hola si quisiera implementarlo con botones por ejemplo mira tengo en mi proyecto un String Grid y a lado de ella unos botones en las que me gustaria simular un word wrap donde pueda darle al texto de mis celdas interlineado y el usuario eliga las opciones que desea: Centra, Izquierda o derecha o Justificar;
Eso es uno lo segundo si quisiera cambiar el color de fondo de la celda que yo seleccióne kmo puedo hacerlo? que herrameinta puedo utilizar cual seria mas eficiente un TColorPanel, TColosListBox.
Como podría programarlo en firemonkey=?
Y el Evento OnDrawCell de Vcl es el mismo que OnDrawColumnCell que viene en los eventos de StringGrid de FireMonkey??
proyecto
Alguna Sugerencia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar