![]() |
Stringgrid Text zeichen
Guten Tag,
Ich Färbe in einem Stringgrid die einzelnen Zellen mit Canvas ein. Dies geschieht im DrawCell event.
Delphi-Quellcode:
Mein Problem ist nun das der Text der in der Zelle steht "Überzeichnet" wird. Ich möchte aber lediglich eine "Hintergrundfarbe" für die Zelle. Ich muss den Text sehen.
procedure TFrmTitel.TitelGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin if (frmAnsicht.displayedDateDraw-1 = Acol) then begin TitelGrid.Canvas.Pen.Color := clBlack; TitelGrid.Canvas.Pen.Width := 2; TitelGrid.Canvas.MoveTo(Rect.Left, Rect.Top); TitelGrid.Canvas.LineTo(Rect.Left, Rect.Bottom); TitelGrid.Canvas.MoveTo(Rect.Right, Rect.Top); TitelGrid.Canvas.LineTo(Rect.Right, Rect.Bottom); end; if (keinArbeitstagTitel[Acol] = 1) and (ARow = 1) then begin TitelGrid.Canvas.Brush.Color := hexToInt('$E6E0B0'); TitelGrid.Canvas.FillRect(Rect); end; if (keinArbeitstagTitel[Acol] = 1) and (ARow = 0) then begin TitelGrid.Canvas.Brush.Color := hexToInt('$E6E0B0'); TitelGrid.Canvas.FillRect(Rect); end; end; Wie lässt sich der Text der Zelle erneut Zeichen ? Oder lässt sich das "FillRect" so anwenden das es den Text in der Zelle nicht "Überzeichnet" ? Am besten wäre wenn der Text am ende von DrawCell-Event gezeichnet wird. Mfg Int3g3r |
AW: Stringgrid Text zeichen
Eventuell wäre dies hier ein brauchbarer Ansatz:
Delphi-Quellcode:
TitelGrid.Canvas.TextRect(Rect, Rect.Left+2, Rect.Top+2, TitelGrid.Cells[ACol, ARow]);
Du kannst die Position des Texts auch noch etwas variieren. |
AW: Stringgrid Text zeichen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz