void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State)
{
TStringGrid *Grid = (TStringGrid *)Sender;
int hAlign = DT_CENTER;
Grid->Canvas->Font->Color = clBlack;
switch (ACol)
{
case 0 : { if (ARow != 0)
{
hAlign = DT_RIGHT;
}
Grid->Canvas->Font->Style = TFontStyles() << fsBold;
break; }
case 1 : { if (ARow == 0)
{
Grid->Canvas->Font->Style = TFontStyles() << fsBold;
}
else
{
hAlign = DT_LEFT;
}
break; }
}
if (State.Contains(gdFocused)) // wenn Zelle focusiert
{
Grid->Canvas->Brush->Color = clYellow; // gelbe Zelle
}
Grid->Canvas->FillRect(Rect); // Hintergrund übermalen
DrawText(Grid->Canvas->Handle, Grid->Cells[ACol][ARow].c_str(), -1, &Rect, DT_SINGLELINE | DT_VCENTER | hAlign);
}