Autor Beitrag
is44c
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 23.12.05 21:57 
Moin,

ich habe mir mal gedacht ich versuche ein MouseMove ereigniss zu basteln, wobei, wenn ich mit der maus über button gehe, das dieser unter dem mauszeiger herausspringt und an einer neuen Position bleibt!

Ich habe keine ideen da ich unter eigenschaften nichts finde was mit Postion zu tun hat oder ich kann nur nicht gut genug suchen!

Danke für die antworten die kommen!
Is44c
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 23.12.05 22:00 
Hallo!

Die Position eines Buttons kannst Du mittels Top und Left abfragen bzw. auch setzen.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Fr 23.12.05 22:00 
Es gibt das Event OnMouseMove bei den Buttons. Dieses wird ausgelöst, sobald sich der Mauszeiger über dem Button bewegt. Hier erfährst Du also wenn der Zeiger auf dem Button ist. In diesem Event kannst Du ihn dann verschieben, indem Du die Eigenschaften Top und Left (die den Abstand vom oberen und linken Rand des ParentControls - also hier des Formulars - in Pixeln angeben) veränderst.
is44c Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 23.12.05 22:59 
Also ich habe das jetzt so versucht

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Test(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
 Left := 400;
 Top := 333
end;


aber wenn ich das mache dann springt die ganze TForm und nciht nur der Button auf der Form!

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt
Born-to-Frag
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1094

Win XP SP2, Win 2000 SP4
Delphi 7, 2k5
BeitragVerfasst: Fr 23.12.05 23:01 
user profile iconis44c hat folgendes geschrieben:
Also ich habe das jetzt so versucht

ausblenden Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Test(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
 Button1.Left := 400;
 Button1.Top := 333
end;


aber wenn ich das mache dann springt die ganze TForm und nciht nur der Button auf der Form!


;)

_________________
Theorie ist wenn man alles weiß, aber nichts funktioniert. Praxis ist wenn alles funktioniert, aber niemand weiß warum.
Microsoft vereint Theorie und Praxis: Nichts funktioniert und niemand weiß warum.
Corback
Hält's aus hier
Beiträge: 12

xp

BeitragVerfasst: Di 18.04.06 15:54 
also ich habe das jetzt auch so probiert und der Button spring ja auch prima weg, nur leider springt er nur einmal weg und dann bleibt er stehen. was muss ich hier Einsetzen damit der Button mehrmals wegspringt?

mfg Corback
DelphiAnfänger
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 112

Win XP, Firefox 2.0, IE6
Delphi 5 Prof., Delphi 2005 PE
BeitragVerfasst: Di 18.04.06 15:58 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Test(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
 Button1.Left := Random(400);
 Button1.Top := Random(333);
end;
Corback
Hält's aus hier
Beiträge: 12

xp

BeitragVerfasst: Di 18.04.06 16:00 
danke

jetzt funktionierts einwandfrei ;)