Delphi OnMouseMove hilfe

09/09/2013 18:03 .Dave'#1
Hallo,
ich möchte eine Anwendung erstellen, in dem sich ein Label bewegt, sobald man die Maus auf der Anwendung bewegt.

Das Label soll dann auf eine zufällige Position in der Anwendung springen.

Ich weiß, dass es mit OnMouseMove und random(...) funktioniert, aber die genaue zusammensetzung weiß ich nicht :(

Würde mich über Hilfe freuen :)
09/09/2013 18:16 Ludder231#2
Hast du schonmal gegooglet?

Aber ich geb dir schonmal eine kleine Hilfe:
PHP Code:
Random rand = new Random();
int Zahl rand.next(); 
So zmd in C# ;)
09/09/2013 18:20 .Dave'#3
Quote:
Originally Posted by Ludder231 View Post
Hast du schonmal gegooglet?

Aber ich geb dir schonmal eine kleine Hilfe:
PHP Code:
Random rand = new Random();
int Zahl rand.next(); 
Ja hab schon mal gegoogelt, aber da auch nix gefunden.

Das Label heißt bei mir LBG, das spreche ich doch mit LBG.OnMouseMove an?
Dass heißt, es müsste LBG.OnMouseMove =: new Random(); sein?

Edit: Brauchs aber in Delphi :)
09/09/2013 18:35 Schlüsselbein#4
Irgendwo irgendwie das Event registrieren und dann die Position des Labels im Eventhandler ändern.

Was du wissen musst (sind Basics, also brauchst du hier auch keinen Code):
Event registrieren,
Poistion von Controls ändern (ist sicherlich nur ein einfacher Methodenaufruf),
Pseudozufallszahöen erzeugen.

Das könnten auch schon deine Stichworte fürs Suchen sein.
09/09/2013 18:44 .Dave'#5
So kompliziert kann das doch alles gar nicht sein? :/
09/09/2013 18:47 Schlüsselbein#6
Das werden höchstens 10 effektive Zeilen sein. Google kennst du, oder? Dann brauchst jetzt noch ne Schippe EIgeninitiative und ggf n gutes Buch und deinem Vorhaben steht nix im Wege.
09/09/2013 19:11 .Dave'#7
Das muss doch mit 1-2 Zeilen klappen :/

LBG (Label)
OnMouseMove (Bewegung Maus)
random (zufall)

Damit muss das doch gehen?

LBG.OnMouseMove =: random (101);

Irgendwie so?
09/09/2013 19:18 Schlüsselbein#8
Mein Delphi liegt schon lange zurück, aber ich denke mal, dass du die VCL benutzt, oder?

Quote:
Irgendwie so?
Nein, so nicht. Lerne was Events sind und wie diese in einer GUI-Application verarbeitet werden. Dann wird dir klar, warum es nicht so geht.
09/09/2013 19:24 .Dave'#9
Okay, werde noch ein bisschen rumprobieren und Lösung dann hier posten, falls es ja jemand irgendwann mal braucht ;D

Lösung:
Ihr geht bei der objekthirarchie auf label1 . Geht dort dann bei ereignissen auf onmousemove. Dort macht ihr einen doppelklick. Dann öffnet sich das quelltextfenster. Dort gebt ihr ein: Label1.PositionLeft:=random(101); Label1.PositionTop:=random(101); . Dann macht ihr einen doppelklick auf label1 . Das quelltextfenster öffnet sich. Dort gebt ihr Label1.PositionLeft:=random(101);Label1.PositionTo p:=random(101);ShowMessage(`Herzlichen Glückwunsch`); . So habe ich es eingegeben
09/10/2013 18:47 xxfabbelxx#10
glückwunsch :)

closed