![]() |
StringGrid Zeile bei bestimmten Werten anders farbig markier
Hallo Zusammen,
ich weiß, dass zu diesem Thema (oder ähnlichen) schon einiges geschrieben wurde. Ich bitte daher um Geduld, denn ich habe leider noch nichts gefunden, was mir weitergeholfen hat. Codes, wie ich einzelne Zellen oder ungerade Spalten Zeilen farbig markiere habe ich schon getestet... Ich möchte, dass wenn in einer Zeile in der Spalte x eine 1 steht, dass dann diese Zeile farblich markiert wird. Das ist das erste, was ich nicht hinbekomme. Das zweite ist, dass ich eventuell nur diese Zellen (es kommt öfters vor) farbig markiert haben möchte. Natürlich soll der Text der Zeile(n)/Zelle(n) noch lesbar sein und auch die ganze Zeile(n)/Zelle(n) soll farbig markiert sein. Mit Textout war der Text zwar wieder lesbar aber die Zelle wurde nur hinter dem Text farbig markiert... Könnt Ihr mir dabei helfen? Vielen Dank im Voraus Ykcim |
Re: StringGrid Zeile bei bestimmten Werten anders farbig mar
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
mit diesem Code bekomme ich nur folgendes Ergebnis (Screenshot)
Delphi-Quellcode:
procedure TTest3.StringGrid4DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); var i:integer; begin if StringGrid4.Cells[0,Arow]='135746' then begin StringGrid4.Canvas.Brush.Color := clYellow; StringGrid4.Canvas.TextOut(ACol,ARow,StringGrid4.Cells[ACol,ARow]); StringGrid4.Canvas.FillRect(Rect); end; end; |
Re: StringGrid Zeile bei bestimmten Werten anders farbig mar
Zitat:
Zitat:
DrawText |
Re: StringGrid Zeile bei bestimmten Werten anders farbig mar
Hallo worker,
als erstes: Danke für die Antwort! Ich habe die Codes zwar bereits getestet, aber ich habe es nie hinbekommen, dass der Text ordentlich ausgegeben wird... Ich weiß nicht, woran das liegt. auch in dem aktuellen Code habe ich FILLRECT verwendet, aber wie in dem Screenshot zu sehen, wird der Text völlig falsch ausgegeben... Kannst Du Dir das mal ansehen und mir Deine Meinung sagen? Danke Ykcim |
Re: StringGrid Zeile bei bestimmten Werten anders farbig mar
logisch, ist ja auch ein wenig durcheinander
Delphi-Quellcode:
TextOut() muss nicht mit ACol/ARow "gefüttert" werden, sondern mit den Koordinaten des CellRectangles... dann schaut das auch anders aus :P
StringGrid4.Canvas.Brush.Color := clYellow;
StringGrid4.Canvas.TextOut(ACol,ARow,StringGrid4.Cells[ACol,ARow]); StringGrid4.Canvas.FillRect(Rect); |
Re: StringGrid Zeile bei bestimmten Werten anders farbig mar
Ähm, und was heißt das genau? :oops:
Sorry, aber ich bewege mich gerade auf Neuland... |
Re: StringGrid Zeile bei bestimmten Werten anders farbig mar
Na dass Du nicht die Koordinaten Deiner Zelle (ACol, ARow) übergibst, sondern die Koordinaten des Rectangles, also des Zeichenbereiches Deiner Zelle:
Delphi-Quellcode:
ARect ist ein Parameter der DrawCell-Methode.
StringGrid4.Canvas.TextOut(ARect.Left, ARect.Top, StringGrid4.Cells[ACol,ARow]);
|
Re: StringGrid Zeile bei bestimmten Werten anders farbig mar
Liste der Anhänge anzeigen (Anzahl: 1)
Das hatte ich in der Zwischenzeit auch so auprobiert - ohne Erfolg. Siehe Screenshot im Anhang...
Was mache ich nur falsch? Hier der Code zu dem hochgeladenen Screenshot2.jpg
Delphi-Quellcode:
Danke für Deine Mühe!
procedure TTest3.StringGrid4DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); var i:integer; begin if StringGrid4.Cells[0,Arow]='135746' then begin StringGrid4.Canvas.Brush.Color := clYellow; StringGrid4.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid4.Cells[ACol,ARow]); StringGrid4.Canvas.FillRect(Rect); end; end; Ykcim |
Re: StringGrid Zeile bei bestimmten Werten anders farbig mar
Falsche Reihenfolge ;)
Delphi-Quellcode:
//Nur bei Spalte 0
If ACol <> 0 Then Exit; If StringGrid4.Cells[0, ARow] = '135746' Then Begin StringGrid4.Canvas.Brush.Color := clYellow; StringGrid4.Canvas.FillRect(Rect); StringGrid4.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid4.Cells[ACol, ARow]); End; |
Re: StringGrid Zeile bei bestimmten Werten anders farbig mar
DANKE!!!!
:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: Jetzt sieht es klasse aus! Den Rest, bezüglich einzelne Zellen schaffe ich jetzt hoffentlich... Vielen Dank Ykcim |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 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 by Thomas Breitkreuz