![]() |
Position von Quadraten kontrollieren
Okay heute mal eine Frage die nicht direkt mit Delphi zu tun hat. Ich schreibe ein kleines Tool, und dafür brauche ich einen kleinen Denkansatz. Es geht darum:
Ich habe ein quadratisches Feld, in diesem sind zwei weitere kleine Quadrate, eines oben links, das andere unten rechts. Diese beiden kleinen Quadrate können mit der Maus verschoben werden und dienen dazu, die Eckpunkte eines Rechtecks anzugeben, das wiederum im ersten, großen Quadrat sein soll. Mein Problem ist nun: Wie verhindere ich möglichst elegant, dass das untere rechte Quadrat nicht über und/oder links vom anderen Quadrat ist, bzw umgekehrt? Ich hoffe ihr versteht was ich meine... kompliziert zu erklären. Danke schon mal, MfG |
Re: Position von Quadraten kontrollieren
Naja, du musst ja die jeweiligen Koordinaten der Quadrate speichern. Und beim Verschieben müsstest du im Prinzip überprüfen, ob sie sich schneiden. Ich denke du würst hier fündig werden, wenn du nach
![]() |
Re: Position von Quadraten kontrollieren
also du kannst die verschieben???
in welcher form hast du die den vorliegen? als ne art componente? dann kannst du einfach sagen
Delphi-Quellcode:
wenn du das aber zb als canvas-"gemälde" hast, dann habich hglaub ich dier frage missverstanden...
//wenn die höhen falsch sind
if rechteck1.Top>rechteck2.Top //wenn zweites höher liegt als erstes then Rechteck2.Top:=Rechteck1.Top; //dann angleichen if rechteck1.Top+rechteck1.Hight>rechteck2.Top+rechteck2.Hight //wenn erstes tiefer liegt then Rechteck1.High:=Rechteck2.Top+Rechteck2.High-Rechteck1.Top;//dann angleichen //wenn die seiten falsch sind if rechteck1.Left>rechteck2.Left //wenn zweites weiter links liegt als erstes then Rechteck2.Left:=Rechteck1.Left;//dann angleichen if rechteck1.Left+rechteck1.Width>rechteck2.Left+rechteck2.Width //wenn erstes weiter rechts liegt then Rechteck1.Width:=Rechteck2.Left+Rechteck2.Width-Rechteck1.Left;//dann angleichen |
Re: Position von Quadraten kontrollieren
Stop! Das Prinzip ist das gleiche. Du musst die Position du speichern!
|
Re: Position von Quadraten kontrollieren
Hmm ich glaube ich verhindere diesen Tausch der Seiten einfach dadurch, dass ich die Region für den Mauszeiger mittels ClipCursor begrenze. Es scheint niemandem eine schönere Lösung einzufallen. Bin aber für weitere Ideen offen. Diese kleinen Quadrate zeichne ich übrigens selber. Wollte das erst mit 2 TShape's machen, die sehen aber komisch aus wenn ich die entsprechend klein mache (etwa 9*9 Pixel).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz