![]() |
Delphi-Version: 7
Beim Click eines Buttons OnMouseDown ausführen
Moin,
Ich möchte wie bei MS Paint eine Linie zeichnen. Sprich wenn ich den Button Clicke er eine Anweisung ausführt die im Event OnMouseDown steht. Wie geht das? |
AW: Beim Click eines Buttons OnMouseDown ausführen
Was hast du denn bisher an Quelltext?
|
AW: Beim Click eines Buttons OnMouseDown ausführen
Beim Paint wüsste ich keinen Button, der gleich eine Linie zeichnet, denn um eine Linie zu zeichnen wirst du sicherlich auf die Position des Mauszeigers verweisen, der sich bei einem Buttonklick höchstwahrscheinlich auf dem Button befindet. Deswegen befürchte ich dass da ein kleiner Denkfehler besteht.
|
AW: Beim Click eines Buttons OnMouseDown ausführen
naja zu dem thema nix. Brauch ich dafür ne Schleife ?
Delphi-Quellcode:
oder gibs dafür ne andere Methode?
if Button3Click do
|
AW: Beim Click eines Buttons OnMouseDown ausführen
Zitat:
Hoffe es ist einigermaßen verständlich |
AW: Beim Click eines Buttons OnMouseDown ausführen
Rufe die Methode doch dort auf
Delphi-Quellcode:
FormMouseDown( self, TMouseButton.mbLeft, [], Mouse.CursorPos.X, Mouse.CursorPos.Y);
|
AW: Beim Click eines Buttons OnMouseDown ausführen
Zitat:
Versuche dir nicht nur vorzustellen was du möchtest, sondern auch das wie! Nehme mal einen Stift in die Hand und ein Blatt Papier. Woher weißt du jetzt, dass du eine Linie mit dem Stift auf dem Papier malen kannst? Steht in deinen Gehirn jetzt irgendwo die Information "Habe Stift ausgewählt/in der Hand", ja oder nein? |
AW: Beim Click eines Buttons OnMouseDown ausführen
Du kannst dafür statt einem normalen Button z.B. einen Speedbutton verwenden. Ein Speedbutton kann als gedrückt (down) oder nicht gedrückt dargestellt werden. In dem MouseDown kannst du dann auf SpeedButton.Down abfragen.
|
AW: Beim Click eines Buttons OnMouseDown ausführen
Zitat:
|
AW: Beim Click eines Buttons OnMouseDown ausführen
Besser erscheint es mir aber zusätzlich dazu einen Speedbutton zu verwenden einfach sich zu merken welches Zeichenwerkzeug (Freihand,Linie,Ellipse,Auswahlrechteck,...) gerade aktiv ist. Sprich beim drücken des Buttons das Werkzeug festlegen. Nicht, dass du immer in einer Schleife alle Werkzeugbuttons durchgehst um zu sehen, welcher gerade "down" ist.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:03 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