DBGrid Hintergrundfarbe in der fokusierten Zeile anpassen
-
Hallo,
ich möchte in meinem DBGrid, die Farbe der Zeile anpassen, in der sich der Focus befindet.
Ich verwende hierzu das OnDrawColumnCell-Ereignis, indem ich in etwa so abfrageif (State.Contains(gdSelected)) DBGrid->Canvas->Brush->Color = clRed;Die Farbe der einzelnen Spalte, in der sich der Fokus befindet, wird angepaßt. Soweit so gut.
Ich möchte aber, dass auch die restlichen Zellen dieser Zeile angepaßt werden.
Ich muß unter DBGrid->Options die Eigenschaft gdRowSelect ausblenden.
Andernfalls lassen sich die einzelnen Spalten nicht editieren.Wie muß ich programmieren, dass das OnDrawColumCell weiß, dass es sich gerade in der Zeile befindet in der sich auch der Fokus befindet?
-
Ähem, noch keine Antwort?

Hätte nicht gedacht, dass meine Frage so schwierig ist. Oder bin ich zu ungeduldig?
Vielleicht habe ich meine Frage etwas zu kompliziert ausgedrückt. Hier also noch ein Versuch der Erklärung.Ich benötige eine Abfrage/Bedingung, mit der ich die Position der aktuell fokusierten Zeile im DBGrid feststellen kann. Das ist die Zeile, in der der Datenzeiger links in der Fixspalte positioniert wird. Der Fokus liegt aber nicht auf der gesamten Zeile sondern nur in einer (zufälligen) Zelle dieser Zeile.
z.B. ich denke in etwa soetwas:
if (dbgridzeile == ADODataSet->RecNo)
ändere Hintergrundfarbe;Wie kann ich diese aktuelle Zeile abfragen?
Setze auf Eure Hilfe!
-
Das scheint mit Bordmitteln nicht möglich zu sein:
http://groups.google.com/group/borland.public.cppbuilder.vcl.components.using/browse_thread/thread/2b5905e4886038e8/d3681ece81eb71d3Also selber implementieren oder was fertiges suchen.
-
Hallo @Jansen, danke erstmal für den Link.
werde mir die dort vorgeschlagenen Lösungswege 'mal genauer ansehen. GGf melde ich mich nochmal.