?
Ich glaube es geht so nicht, weil du praktisch dein Rechteck mit einem Muster füllst. Du solltest zuerst dein Rechteck zeichnen:
void TForm1::zeichnerechteck()
{
Image1->Canvas->Pen->Color=clBlack;
Image1->Canvas->Brush->Color=clGreen;
Image1->Canvas->Rectangle(0,0,Image1->Width,Image1->Height);
}
dann das Liniengitter:
void TForm1::gridzeichnen()
{
int r=StrToInt(Edit1->Text);
Image1->Canvas->Pen->Color=clLtGray;
for (int t=r; t<Image1->Width; t=r+t)
{
Image1->Canvas->MoveTo(t,1);
Image1->Canvas->LineTo(t,Image1->Height-1);
}
for (int d=r; d<Image1->Height; d=r+d)
{
Image1->Canvas->MoveTo(1,d);
Image1->Canvas->LineTo(Image1->Width-1,d);
}
}
Ich hatte für variable Linien den Abstand mit einem Edit-Feld und UpDown-Button verknüpft.
void __fastcall TForm1::UpDown1Click(TObject *Sender, TUDBtnType Button)
{
Edit1->Text = UpDown1->Position;
zeichnerechteck();
gridzeichnen();
}
Vielleicht gibt es ja noch eine andere Variante?