DBGrid selektierte Zeile farblich hinterlegen
-
Hallo,
Ich möchte eine Zeile im DBGrid farblich hinterlegen, die ich mit der Maus anklicke.
void __fastcall TMainForm::DBGridKundenDrawColumnCell(TObject *Sender, const TRect &Rect, int DataCol, TColumn *Column, TGridDrawState State) { POINT XYCell={Rect.Left,Rect.Top}; TGridCoord cellColRow; ::ClientToScreen(DBGridKunden->Canvas->Handle,(LPPOINT)&XYCell); cellColRow=DBGridKunden->MouseCoord(XYCell.x,XYCell.y); if (State.Contains(gdSelected)) { cellColRow.X = 1; zelle=true; //global } if(cellColRow.Y && zelle) { DBGridKunden->Canvas->Brush->Color = clInactiveCaption; } DBGridKunden->DefaultDrawColumnCell(Rect,DataCol,Column,State); if(cellColRow.X == 7) zelle = false; }Das funktioniert aber nur soweit wenn ich in die erste Spalte klicke oder die DBNavigator Komponente nehm um zum nächsten Datensatz zu springen.
Klicke ich z.B. in Spalte 2 oder 3 werden die Zellen davor nicht gefärbt.