AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Popupmenu öffnet sich nicht an angegebener Stelle
Thema durchsuchen
Ansicht
Themen-Optionen

Popupmenu öffnet sich nicht an angegebener Stelle

Ein Thema von Andreas L. · begonnen am 8. Jun 2006 · letzter Beitrag vom 8. Jun 2006
Antwort Antwort
Andreas L.
(Gast)

n/a Beiträge
 
#1

Popupmenu öffnet sich nicht an angegebener Stelle

  Alt 8. Jun 2006, 11:24
Hi,
ich bin gerade dabei mir einen Objekt-Inspector zu bauen. Jetzt wollte ich das ein PopUpmenu sind ähnlich wie eine Combobox öffnet. hierzu habe ich einen Button und 1 Label. Das Menü soll also am linken unteren Eck vom Label öffnen. Ich habe folgenden Code benutzt:

Delphi-Quellcode:
var
 cursors: TPoint;
begin
 cursors:=Clienttoscreen(Point(button2.left - 84, button2.top + button2.height));
 PopUpMenu2.popup(cursors.x,cursors.y);
Leider geht es nicht da auf wo ich möchte. Siehe Screenshot.

Was läuft da falsch?
Miniaturansicht angehängter Grafiken
inspector_cursors_pos_falsch_674.png   inspector_cursors_ganz_133.png   inspector_cursors_619.png  
  Mit Zitat antworten Zitat
KrasserChecker

Registriert seit: 21. Jul 2004
120 Beiträge
 
#2

Re: Popupmenu öffnet sich nicht an angegebener Stelle

  Alt 8. Jun 2006, 11:45
Eigentlich willst Du das Menü ja relativ zur Position des Buttons bestimmen. Probiere doch mal folgendes:
Delphi-Quellcode:
var
cursors: TPoint;
begin
cursors:=Button2.Clienttoscreen(Point(-84, button2.height));
PopUpMenu2.popup(cursors.x,cursors.y);
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Popupmenu öffnet sich nicht an angegebener Stelle

  Alt 8. Jun 2006, 12:23
Hallo Andreas,

Zitat von onlinehome:
hierzu habe ich einen Button und 1 Label. Das Menü soll also am linken unteren Eck vom Label öffnen.
dann besser so:

Delphi-Quellcode:
procedure TDemoForm.ButtonClick(Sender: TObject);
var
  p: TPoint;
begin
  with TheLabel do
  begin
    p.X := Left;
    p.Y := Top + Height;
    p := Parent.ClientToScreen(p);
    ContextMenu.Popup(p.X, p.Y);
  end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#4

Re: Popupmenu öffnet sich nicht an angegebener Stelle

  Alt 8. Jun 2006, 12:29
Zitat von marabu:
Hallo Andreas,

Zitat von onlinehome:
hierzu habe ich einen Button und 1 Label. Das Menü soll also am linken unteren Eck vom Label öffnen.
dann besser so:

Delphi-Quellcode:
procedure TDemoForm.ButtonClick(Sender: TObject);
var
  p: TPoint;
begin
  with TheLabel do
  begin
    p.X := Left;
    p.Y := Top + Height;
    p := Parent.ClientToScreen(p);
    ContextMenu.Popup(p.X, p.Y);
  end;
end;
Grüße vom marabu
Juhu, funktioniert. Danke
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz