Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Los mejores trucos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-03-2023
dani36652 dani36652 is offline
Miembro
 
Registrado: abr 2019
Posts: 61
Poder: 6
dani36652 Va camino a la fama
Lightbulb (FMX) cambiar color del Header del StringGrid

Hola colegas, les comparto el día de hoy un procedimiento el cual sirve para cambiar el color del Header del stringGrid en FireMonkey

Código Delphi [-]
procedure ColorFondoHeaderStringGrid(ObjetoGrid: TStringGrid);
var
  i: integer;
  Header: THeader;
  RecColor: TRectangle;
  Texto: TText;
  Obj: TFmxObject;
  Headerlbl:TLabel;
begin
  Header := THeader(ObjetoGrid.FindStyleResource('Header'));
  if Assigned(Header) then
  begin
    for i := 0 to ObjetoGrid.ColumnCount do
    // NOTA: ColumnCount-1 pinta solo las que ocupa el grid como tal
    // y ColumnCount pinta las que se ocupan más el resto del Header
    begin
      Obj := Header.Items[i];
      if Assigned(Obj) then
      begin
        RecColor := TRectangle.Create(Obj);
        Obj.AddObject(RecColor);
        RecColor.Fill.Kind := TBrushKind.Solid;
        RecColor.Fill.Color:= $FF353784;
        RecColor.Stroke.Color := $FF353784;
        RecColor.Align := TAlignLayout.Contents;
        RecColor.HitTest := False;
        RecColor.SendToBack;
        if Assigned(Obj.FindStyleResource('Text')) then
        begin
        //Nota: Se sustituyen los TText de los Headers ya que en Android al hacer Scrolling a los lados
        // Desaparecían todos los headers
          Texto := TText(Header.Items[i].FindStyleResource('Text'));
          Texto.Visible:= False;
          Headerlbl:= TLabel.Create(RecColor);
          Headerlbl.Parent:= RecColor;
          Headerlbl.Align:= TAlignLayout.Client;
          Headerlbl.HitTest:= False;
          Headerlbl.StyledSettings:= [];
          Headerlbl.Text:= Texto.Text;
          Headerlbl.FontColor:= TAlphaColors.White;
          Headerlbl.Font.Size:= ObjetoGrid.TextSettings.Font.Size;
          Headerlbl.TextAlign:= TTextAlign.Center;
        end;
      end;
    end;
  end;
end;

Espero y les sea de ayuda saludos.
Responder Con Cita
 



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/Marcado stringGrid xdelph Varios 4 11-06-2015 20:46:08
StringGrid, cambiar color celda jose.ignacio.ve OOP 4 13-06-2013 23:48:46
Cambiar color de letras de acuerdo al color de fondo Adrian Murua OOP 2 15-11-2008 19:36:21
Mantener color verde olivo de las ventanas, al cambiar el color en windows mancurnino Varios 6 11-03-2008 16:39:47
cambiar color StringGrid, toda una fila, despues de la primera. sakuragi OOP 5 28-11-2005 20:20:33


La franja horaria es GMT +2. Ahora son las 01:44:03.


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