Autor Beitrag
Leathl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 276



BeitragVerfasst: Do 27.03.03 22:31 
---


Zuletzt bearbeitet von Leathl am Sa 15.08.09 15:57, insgesamt 1-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 27.03.03 22:41 
Ist es das, was Du brauchst?

ausblenden 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

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: 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:
ausblenden Quelltext
1:
2:
with Mouse.CursorPos do
  PopupMenu1.Popup(X, Y);
Gruß wulfskin!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
Leathl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 276



BeitragVerfasst: Do 27.03.03 22:57 
---


Zuletzt bearbeitet von Leathl am Sa 15.08.09 15:57, insgesamt 1-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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!

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 28.03.03 10:07 
Versuch es mal so:
ausblenden 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
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: 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
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 28.03.03 13:35 
Das geht ja tatsächlich. Wieder was gelernt.
Leathl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 276



BeitragVerfasst: Fr 28.03.03 16:10 
---


Zuletzt bearbeitet von Leathl am Sa 15.08.09 15:58, insgesamt 1-mal bearbeitet
Renegade
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 358

Win XP Pro, Win 7 Beta
BDS 2006
BeitragVerfasst: 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.

_________________
Sokrates (468 v.Chr. - 399 v.Chr.)
"Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen."