Einzelnen Beitrag anzeigen

RaSoWa1

Registriert seit: 1. Jun 2006
Ort: Halle/Saale
140 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Delphi XE zentrierter Text im StringGrid

  Alt 2. Jan 2012, 17:30
Hallo,

du musst den alten Text vorher löschen.
Rufe dazu vor DrawText die unten stehend Methode DRAWRECT auf.
Delphi-Quellcode:
procedure TFilterGrid.DrawRect(can: TCanvas; ARect: TRect; AState: TGridDrawState);
begin
  if (DrawingStyle = gdsGradient) and (gdFixed in AState) then
  begin
    if not(goFixedVertLine in Options) then
      inc(ARect.Right);
    if not(goFixedHorzLine in Options) then
      inc(ARect.Bottom);
    if (gdHotTrack in AState) or (gdPressed in AState) then
    begin
      if (gdPressed in AState) then
        GradientFillCanvas(can, GradientEndColor, GradientStartColor, ARect, gdVertical)
      else
        GradientFillCanvas(can, GetHighlightColor(GradientStartColor), GetHighlightColor(GradientEndColor), ARect, gdVertical);
    end
    else
      GradientFillCanvas(can, GradientStartColor, GradientEndColor, ARect, gdVertical);
    can.Brush.Style := bsClear;
  end
  else
    can.FillRect(ARect);
end;
So mache ich es in meiner Komponente TFilterGrid. Schau sie dir mal an. Code und Hilfe liegen bei.

Gruß Klaus.

Gruß Klaus.
Klaus
  Mit Zitat antworten Zitat