Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Otros temas > Trucos
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Los mejores trucos

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 03/03/2023
dani36652 dani36652 is offline
Miembro
 
Join Date: Apr 2019
Posts: 78
Poder: 8
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.
Reply With Quote
 


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Color/Marcado stringGrid xdelph Varios 4 11/06/2015 19:46
StringGrid, cambiar color celda jose.ignacio.ve OOP 4 13/06/2013 22:48
Cambiar color de letras de acuerdo al color de fondo Adrian Murua OOP 2 15/11/2008 18:36
Mantener color verde olivo de las ventanas, al cambiar el color en windows mancurnino Varios 6 11/03/2008 15:39
cambiar color StringGrid, toda una fila, despues de la primera. sakuragi OOP 5 28/11/2005 19:20


All times are GMT +2. The time now is 21:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi