hallo,
bin immer noch beim StringGrid, und habe noch eine Zusätzliche Frage.
Wenn ein bestimmter Wert in einer Spalte(5) steht, soll sich diese Zeile einfärben.
Soweit funktioniert es auch, aber mit Einschränkungen!
a.) die Überschriften der Spalten fehlen ??
b.) der text steht nicht mehr in der Mitte (zentriert)
Was ist am Quelltext (blau) falsch? Was muss ich hier ändern?
Hier ein Beispiel:
[/attachment]
StringGrid Caption und Text
Re: StringGrid Caption und Text
Für solche Maßnahmen ist das OnDrawCell-Ereignis nicht das richtige, weil du zuviel selbst neu programmieren musst. Besser geeignet ist OnPrepareCanvas. Setze hier einfach die Hintergrundfarbe die du willst. Und um Text zu zentrieren, nimmst du am besten den TextStyle des Canvas:
Code: Alles auswählen
procedure TForm1.StringGrid1PrepareCanvas(sender: TObject; aCol, aRow: Integer;
aState: TGridDrawState);
var
ts: TTextStyle;
begin
if (ACol = 6) then begin
if StringGrid1.Cells[6, ARow] = 'Test' then
StringGrid1.Canvas.Brush.Color := clYellow
else
if StringGrid1.Cells[6, ARow] = 'Eingang' then
StringGrid1.Canvas.Brush.Color := clGray;
// etc.
// Alle Zellen in Spalte 6 zentrieren
ts := StringGrid1.Canvas.TextStyle;
ts.Alignment := taCenter;
StringGrid1.Canvas.TextStyle := ts;
end;
end;
Re: StringGrid Caption und Text
hallo,
erstmal vielen dank für Deine Hilfe!
Soweit läuft alles sehr gut, jetzt wird aber nicht die ganze Zeile eingefärbt sonder nur die Spalte.
danke
erstmal vielen dank für Deine Hilfe!
Soweit läuft alles sehr gut, jetzt wird aber nicht die ganze Zeile eingefärbt sonder nur die Spalte.
danke
Re: StringGrid Caption und Text
Ich wollte dir ja nur das Prinzip zeigen und keine fertige Lösung präsentieren, ich weiß ja gar nicht, was du genau erreichen willst.
Das "if (ACol = 6)..." bewirkt, dass die die Änderung der Hintergrundfarbe nur in der 6. Spalte gilt. Ich hoffe, dass es jetzt funkt und du weißt, was zu ändern ist, um die ganze Zeile einzufärben.
Das "if (ACol = 6)..." bewirkt, dass die die Änderung der Hintergrundfarbe nur in der 6. Spalte gilt. Ich hoffe, dass es jetzt funkt und du weißt, was zu ändern ist, um die ganze Zeile einzufärben.
Re: StringGrid Caption und Text
JA, Stimmt 
Danke

Danke
