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.