Veröffentlicht 9. März 200322 j Hallo, Ich versuche grade eine funktion zu schreiben mit der man rectangles auf einer beliebigen position auf der zeichenfläche zeichnen kann . Ich krieg das bisher nur hin wenn ich dem rechteck kooridinaten zuweise. Aber denn ist das ja immer an der gleichen stelle . Wie krieg ich es hin, dass ich mit der maus(nach mousedown) einfach die größe des rechtecks zurechtzieh und nach mouseup er dieses rechteck zeichnet. So wie bei mspaint halt die rechtecks funktion. Bin total am verzweifeln. Würde mich sehr über jede Hilfe freuen .
9. März 200322 j Du musst dir die Mauskoordinaten nach OnMouseDown merken. Das sind dann die Startkoordinaten. Und wenn der User die Maus bewegt, sind die aktuellen Mauskoordinaten die Endkoordinaten. DasRechteck musst du bei Mausbewegungen immer wieder löschen und neuzeichnen. OnMouseUp zeichnest du dann das endgültige Rechteck. Hoffe, es war verständlich.
9. März 200322 j jo verständlich wars, ich weiß nur nicht so genau wie ichs am besten umsetzte. hab schon ein wenig probiert haut aber nicht hin . wäre cool wenn du mir schreiben könntest wie der code dazu ungefähr aussieht . aber vielen dank erstmal für deine antwort !
11. März 200322 j habs denn doch einigermaßen hingekricht das man die größe zurechtziehen kann. doch jetzt weiß ich nur nicht wie man es schafft, dass wenn man mit der maus zieht man schon das rechteck sieht und es beim loslassen dann gemalt wird . jemand ne idee ?
14. März 200322 j Versuch das mal unter der Mousemove funktion. Damit das nicht immer gemacht wird, nimmst du einfach eine Varbiable vom Typ Boolean und gibst der den Wert True in Mousedown und in Mouseup einfach auf False. So wenn die Maus jetzt bewegt wird und die Maus gedrückt ist, dann ermittelst du die Aktuellen Kordinaten der Maus und zeichnest so das Rechteck. Müsste eigentlich funktionieren. Gruß Olli
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.