Problem StringGrid selbst gezeichnetes Gitter
-
Hallo,
die Gitterlinien der StringGrid zeichne ich wie folgt
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State) { TStringGrid* Grid=dynamic_cast<TStringGrid *>(Sender); //... Grid->Canvas->Pen->Color = TColor(RGB(186, 186, 186)); Grid->Canvas->Pen->Width = 1; Grid->Canvas->Pen->Style = psSolid; Grid->Canvas->MoveTo(Rect.Left, Rect.Bottom); Grid->Canvas->LineTo(Rect.Right+1, Rect.Bottom); Grid->Canvas->MoveTo(Rect.Right, Rect.Top); Grid->Canvas->LineTo(Rect.Right, Rect.Bottom); }
Das funktioniert auch super nur zur Laufzeit kann die StringGrid auf
Form1->StringGrid1->Options << goEditing;
gesetzt werden und wenn man da in eine Zelle doppelt klickt um einen Text einzugeben (also man sieht den blinkenden Cursor in der Zelle), dann wird die untere horizontale und die rechte vertikale Gitterlinie der Zelle nicht gezeichnet. Das sieht dann natürlich unschön aus. Wenn man aus der Zelle rausklickt oder die Options wieder zurücksetzt, wird die Zelle wieder gezeichnet.
Hat jemand eine Idee was ich falsch gemacht habe bzw. was muss noch ergänzt werden?Danke schhonmal.