Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - PopUp aus Button
Leathl - Do 27.03.03 22:31
Titel: PopUp aus Button
---
Christian S. - Do 27.03.03 22:41
Ist es das, was Du brauchst?
Quelltext
1: 2: 3: 4:
| procedure TForm1.Button1Click(Sender: TObject); begin PopUpmenu1.Popup(Button1.Left+Form1.Left,Button1.Top+Form1.Top); end; |
Wenn ich die Form verschiebe, ändert sich an der Position relativ zum Button nichts.
MfG,
Peter
wulfskin - Do 27.03.03 22:44
Leider, wenn ich mich recht erinnere, verlangt diese Prozedur die absoluten Bildschirmkoordinaten. Ich würde es deshalb so machen:
Quelltext
1: 2:
| with Mouse.CursorPos do PopupMenu1.Popup(X, Y); |
Gruß wulfskin!
Leathl - Do 27.03.03 22:57
---
Christian S. - Do 27.03.03 23:00
Ich dachte, das PopUp-Menu soll immer an derselben Stelle auftauchen. Aber ich kann unterschiedlichen Stellen des Buttons klicken und das Menü wird an unterschiedlichen Stellen erscheinen!
Tino - Fr 28.03.03 10:07
Versuch es mal so:
Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.Button1Click(Sender: TObject); begin With ClientToScreen (Point (Button1.Left, Button1.Top + Button1.Height)) Do PopupMenu1.Popup (x, y); end; |
Gruß
Tino
Delete - Fr 28.03.03 10:11
Öhm Tion: with und ClientToScreen? :shock: Überleg dir das noch mal bitte. Meines Wissens kennt ClientToScreen keine Methode oder Eigenschaft PopupMenu.
Tino - Fr 28.03.03 10:14
ClientToScreen gibt als Ergebnis ein Record vom Type tPoint zurück. Und darauf beziehe ich mich in dem darauffolgenden Aufruf von Popup. Warum sollte das nicht funktionieren?
Gruß
Tino
Delete - Fr 28.03.03 13:35
Das geht ja tatsächlich. Wieder was gelernt.
Leathl - Fr 28.03.03 16:10
---
Renegade - Sa 29.03.03 12:14
@Leathl
An Deiner Stelle würde ich die vorschläge, die hier gemacht werden zumindest mal ausprobieren. Man lernt ne Menge dabei. Einem Programmierer sollte es nicht egal sein, wie etwas funktioniert - er sollte wissen warum es funktioniert.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!