Objekt benutzen, welches versteckt ist
-
Irgendwie hab ich gerade ne Denkblockade, ich denke mal es ist eigentlich ziemlich einfach aber ich komm gerade nicht drauf. Am besten ich poste mal meinen Quellcode:
void __fastcall TForm1::FormPaint(TObject *Sender) { // Balken außen Canvas->Brush->Color = clBlack;//oben Canvas->Rectangle(20,20,500,40); Canvas->Brush->Color = clBlack;//unten Canvas->Rectangle(20,480,500,500); Canvas->Brush->Color = clBlack;//links Canvas->Rectangle(20,40,40,480); Canvas->Brush->Color = clBlack;//rechts Canvas->Rectangle(480,40,500,480); // Balken mitte Canvas->Brush->Color = clBlack;//oben Canvas->Rectangle(95,95,425,115); Canvas->Brush->Color = clBlack;//unten Canvas->Rectangle(95,405,425,425); Canvas->Brush->Color = clBlack;//links Canvas->Rectangle(95,115,115,405); Canvas->Brush->Color = clBlack;//rechts Canvas->Rectangle(405,115,425,405); // Balken innen Canvas->Brush->Color = clBlack;//oben Canvas->Rectangle(170,170,350,190); Canvas->Brush->Color = clBlack;//unten Canvas->Rectangle(170,330,350,350); Canvas->Brush->Color = clBlack;//links Canvas->Rectangle(170,190,190,330); Canvas->Brush->Color = clBlack;//rechts Canvas->Rectangle(330,190,350,330); // Balken quer Canvas->Brush->Color = clBlack;//oben Canvas->Rectangle(250,40,270,190); Canvas->Brush->Color = clBlack;//unten Canvas->Rectangle(250,350,270,480); Canvas->Brush->Color = clBlack;//links Canvas->Rectangle(20,250,180,270); Canvas->Brush->Color = clBlack;//rechts Canvas->Rectangle(350,250,480,270); }Wie mache ich das wen ich z.B. möchte das wenn Spieler 1 oben Links auf die Ecke klickt dort sein Stein erstellt wird.

-
Hallo
da hast du doch die Positionen der einzelnen Recheckte doch.
Jetzt must du nur noch in OnMouseUp die einzelnen Rechtecke mit den übergebenen Koordinaten vergleichenbool Check(const TRect &Rect, int X, int Y) { return((Rect.left <= X) && (Rect.right >= X) && (Rect.top <= Y) && (Rect.bottom >= Y)); } void __fastcall Form1::OnMouseUp(TObject* Sender, TMouseButton Button, Classes::TShiftState Shift, int X, int Y) { if (Check(TRect(20,40,40,480), X, Y)) { // Klick in oberes linkes Recheck... } ... }/Edit : Du brauchst übrigens Pen->Color nur setzen, wenn du es ändern willst.
bis bald
akari