DBGrid-Zellen auch bei MultiSelect einfärben
-
Hallo,
kann mir jemand sagen, wie ich in einem DBGrid die Farben des Canvas ändern kann?
Ich habe keine Probleme in der event OnDrawColumnCell Canvas Font, oder Brush color änder, es geht mir nur nicht wenn ich mehr Sätze selected habe (MultiSelect=true).
Wenn ich GridDrawState benutzte, gdSelected reagierte nur auf Aufnahme unter dem Cursor. Danke.Edit:
Bitte aussagekräftige Überschriften verwenden. Danke![ Dieser Beitrag wurde am 31.01.2003 um 16:13 Uhr von Jansen editiert. ]
-
Hi,
OnDrawDataCell
void __fastcall TForm1::DBGrid1DrawDataCell(TObject *Sender, const TRect &Rect, TField *Field, TGridDrawState State) { TDBGrid *dbg = dynamic_cast<TDBGrid *>(Sender); int Index; if (dbg && (dbg->Options.Contains(dgMultiSelect) && dbg->SelectedRows->Find(dbg->DataSource->DataSet->Bookmark, Index) || State.Contains(gdSelected))) { dbg->Canvas->Brush->Color = clRed; dbg->DefaultDrawDataCell(Rect, Field, State); } }