Entwickler-Ecke
Sonstiges (Delphi) - Problem beim Verschieben eines Objekts!
Savos12 - Sa 27.03.10 18:03
Titel: Problem beim Verschieben eines Objekts!
hallo Mitglieder,
Ich möchte zur Zeit ein Spiel programmieren.
Immer wenn ich auf den Button klicke, soll dieser sich zufällig auf der Form verschieben. Das klappt soweit auch, jedoch nach ein paar klicks sehe ich den Button nicht mehr, weil er sich zu weit verschoben hat. Wenn ich also die Anwendung durch ziehen vergrößere kann ich ihn wieder anklicken. Da liegt dann auch mein Problem. Wie kann ich das anstellen, dass er sich nur auf der sichtbaren Form verschiebt. versteht ihr wie ich meine?
Hier Mein Quelltext:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject); begin randomize; form1.Color:= RGB(random(255)+1, random(255)+1, random(255)+1); end;
procedure TForm1.Button1Click(Sender: TObject); begin randomize; button1.Left:= random(button1.Width+(form1.Width)+1); button1.Top:= random(button1.Height+random(form1.Height)+1); end;
end. |
Ich glaube mein Problem ist nicht allzukompliziert..
danke
Moderiert von
Kha: Delphi-Tags hinzugefügt
ALF - Sa 27.03.10 18:31
Hi,
Du schickst den Button ja auch "aus" Deiner Form!
Delphi-Quelltext
1:
| Button1.left := Button1.Width + Form1.Width |
ist also um Button1.width grösser als deine Form!
Wenn er innerhalb deiner Form bleiben soll must Du das berücksichtigen!
Bitte schreibe Deinen Quelltext in
[delphi
] Dein QuellText
[/delphi
] tags.
Sieht schöner aus :wink:
Gruss ALf
P.S
ffgorcky - Sa 27.03.10 20:03
Also müsstest Du das ganze nur ein bisschen andersherum schreiben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.Button1Click(Sender: TObject); begin randomize; button1.Left:= random(form1.Width-button1.Width); button1.Top:= random(form1.Height-button1.Height); end; |
So sollte das doch funktionieren, wie Du es möchtest.
-------------------------
PS: Habe nur das eine
random noch rausgenommen, das ich ausversehen zuviel reingeschrieben habe.
ALF - Sa 27.03.10 20:08
bist Du sichere
ffgorcky das es so Funct :wink:
Nur so z.B. 0-Button1.width wo ist jetzt der Button :?:
Gruss ALf
Jann1k - Sa 27.03.10 23:56
Das -Button1.width ist doch noch innerhalb der random Klammer d.h. man kann keine Werte, die kleiner als 0 sind, kriegen.
€: Seh grade das der Beitrag von
ffgorcky editiert wurde, weiß also nicht was da vorher stand.
ALF - So 28.03.10 11:40
is richtig, Fehler von mir! Sorry :oops:
obwohl, beim button.Top funct es trotdem nicht richtig :wink:
Gruss Alf
Savos12 - So 28.03.10 12:17
hey danke jetzt funktionierts...
Was ich dennoch machen würde, ist den Borderstyle der form auf "bsNone" umzustellen
danke
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!