Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Problem mit höhe des buttons (top)


henny - So 21.06.09 15:57
Titel: Problem mit höhe des buttons (top)
Hallo zusammen ,
ich möchte ein Programm schreiben das wenn man auf einen button drückt das dann die position (top) des buttons um 5 erhöht wirt. Das habe ich dann versucht so zu programmieren:

Delphi-Quelltext
1:
button1.top := +5;                    

Doch wenn man im programm dann auf den Button drückt fliegt er zum oberen Bildschirmrand. Aber ich möchte das wenn man den button drückt das er dann um 5 nach oben verschoben wirt!
Wie könnte man das machen?

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.


Marc. - So 21.06.09 16:00

Button1.Top := Button1.Top + 5; :think:


Robii - So 21.06.09 16:28

Zur Erklärung, du hast den Button an die Y-Position ( Über deiner gesamten Form, liegt ein Koordinaten System, wobei oben links (0|0) ist ) 5 geschoben. Mit dem Code von Marc. addierst du zur momentanen Y-Position 5 dazu. Hoffe weißt jetzt wo das Problem war.
Gruß


Marc. - So 21.06.09 16:31

Ich glaube er hat es auch mit der C-Variante verwechselt: Button1->Top += 5;


koegi - So 21.06.09 17:20

Moderiert von user profile iconNarses: Komplett-Zitat des ersten Beitrags entfernt.

Hallo Henny!

Wie Marc schon richtig geschrieben hat, musst Du eine andere Syntax verwenden.
Aber das führt Dich immer noch nicht zum Ziel, denn wie Robii erklärt hat, beginnt das Koordinatensystem oben links. Um also top nach oben zu verschieben, müsstest Du jeweils 5 abziehen statt dazuzählen.
Also:

Delphi-Quelltext
1:
button1.top := button1.top - 5;                    


Ansonsten verschiebst Du den Button um jeweils 5 Punkte nach unten.

Viele Grüße

Thomas


Xentar - So 21.06.09 17:47

Ich glaub, das Rechenzeichen umzudrehen, hätte er auch hinbekommen, wenn er sieht, dass sich der Button in die falsche Richtung bewegt :D