| Autor |
Beitrag |
Leathl
      
Beiträge: 276
|
Verfasst: Do 27.03.03 22:31
Zuletzt bearbeitet von Leathl am Sa 15.08.09 15:57, insgesamt 1-mal bearbeitet
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
wulfskin
      
Beiträge: 1349
Erhaltene Danke: 1
Win XP
D5 Pers (SSL), D2005 Pro, C, C#
|
Verfasst: 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!
_________________ Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
|
|
Leathl 
      
Beiträge: 276
|
Verfasst: Do 27.03.03 22:57
Zuletzt bearbeitet von Leathl am Sa 15.08.09 15:57, insgesamt 1-mal bearbeitet
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: 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
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 28.03.03 10:11
Öhm Tion: with und ClientToScreen?  Überleg dir das noch mal bitte. Meines Wissens kennt ClientToScreen keine Methode oder Eigenschaft PopupMenu.
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: 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
|
Verfasst: Fr 28.03.03 13:35
Das geht ja tatsächlich. Wieder was gelernt.
|
|
Leathl 
      
Beiträge: 276
|
Verfasst: Fr 28.03.03 16:10
Zuletzt bearbeitet von Leathl am Sa 15.08.09 15:58, insgesamt 1-mal bearbeitet
|
|
Renegade
      
Beiträge: 358
Win XP Pro, Win 7 Beta
BDS 2006
|
Verfasst: 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."
|
|