![]() |
Stringgrid bestimmte zellen bearbeien
hallo
ich habe jetzt zum thema stringgrid geschlagene 4 stunden das forum gewälzt, kann aber mein problem nicht lösen... und zwar will ich in einen stringgrid irgendeinem feld bestimmte werte zuweisen (schrift, farbe) jetzt habe ich im forum extrem viel dazu gefunden aber irgendwie klappt rein garnix :( z.b.
Delphi-Quellcode:
geht nicht, warum auch immer :?
procedure TForm9.TabelleDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin if POS('a',Tabelle.cells[ACol,ARow])=0 then Tabelle.canvas.font.color:=clBlue; end; es wäre nett wenn mir irgendjemand helfen könnte, da ich mit meinen latein am ende bin :( brauche ja nur ne hilfestellung in bezug auf z.b. zelle 1,1 hat schriftfarbe rot . vielleicht wäre es schon sehr hilfreich zu wissen warum der o.a code seinen dienst verweigert ach sry das ich trotz der menge an infos im forum nochmal einen thread dazu aufmachen musste edit: omg und dann auch noch falsches forum ^^ Lilo |
Re: Stringgrid bestimmte zellen bearbeien
Hai Lilo,
wenn Du in einem StringGrid die Formatierung änder möchtest musst Du auch dafür sorgen dass alles gezeichnet wird. In deinem Code setzt Du nur die Farben aber Du gibst den Text nicht aus ;-) Hier einmal ein Beispiel mit einigen Kommentaren. Ich hoffe das bringt Licht in die Dunkelheit :stupid:
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: integer;
Rect: TRect; State: TGridDrawState); var celltext: string; begin with (Sender as TStringGrid) do begin celltext := Cells[ACol, ARow]; if (ACol = 1) and (ARow = 1) then // Nur für Celle 1:1 begin canvas.Brush.Color := clred; // Hintergrundfarbe canvas.Font.Color := clblue; // Schriftfarbe end; if (ARow = 3) then // Für die dritte Zeile begin canvas.Font.Style := canvas.Font.Style + [fsBold]; end; if (ACol = 2) then begin canvas.Brush.Color := clGreen; end; // Hier beginnt nun das Zeichnen: Canvas.FillRect(Rect); // Hintergrund zeichnen DrawText(Canvas.Handle, PChar(celltext), Length(celltext), Rect, DT_SINGLELINE); // Textausgeben // Optional kann der Text auch Zentriert werden. // dann mit diesem Parameter; // DT_SINGLELINE or DT_Center or DT_VCENTER end; end; Zitat:
![]() |
Re: Stringgrid bestimmte zellen bearbeien
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang ein Tutorial über Stringgrid's... Da steht noch etwas anders beschrieben, wie man unterschiedliche Schriften realisieren kann... ;-)
|
Re: Stringgrid bestimmte zellen bearbeien
super sache :) danke vielmals für die hilfe
Lilo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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