Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi rechtsklick auf form --> popupmenu (https://www.delphipraxis.net/85580-rechtsklick-auf-form-popupmenu.html)

passsy 1. Feb 2007 19:48


rechtsklick auf form --> popupmenu
 
ich will bei einem rechtsklick auf meine form das ein popupmenu erscheint aber ich hab keine ahnung wie die procedure aussehen soll bei der SysTray gibts WMTASKBAREVENT und da kann ich mit WM_RBUTTONDOWN die procedure schreiben aber bei der form tapp ich im dunkeln...

dataspider 1. Feb 2007 19:51

Re: rechtsklick auf form --> popupmenu
 
Hi,

ich würde erst mal das Published Property PopupMenu des Formulares vorschlagen (OI).

Cu, Frank

mkinzler 1. Feb 2007 19:53

Re: rechtsklick auf form --> popupmenu
 
Du mußt den Rechtsklick über der Form abfangen und dann eine Popupmenü öffen. (TPopupMenu/ .Popup())

passsy 1. Feb 2007 19:56

Re: rechtsklick auf form --> popupmenu
 
ja das mit dem abfangen hab ich mir schon gedacht aber wie kann ich gucken ob man auf der form rechtsklickt oder woanders?

Delphi-Quellcode:
procedure TForm1.???(Sender: TObject);
 var
  point:Tpoint;
 begin
  GetCursorPos(point);
  popupmenu1.Popup(point.x, point.y);
 end;

??? weiß ich nich^^

bin auch für andere lösungen offen hauptsache es geht^^

mkinzler 1. Feb 2007 20:05

Re: rechtsklick auf form --> popupmenu
 
Im Event .onMouseDown Abfragen ob rechte Taste gedrückt wurde (
Delphi-Quellcode:
if [ssRight]
 in Shift then ...
)

passsy 1. Feb 2007 20:10

Re: rechtsklick auf form --> popupmenu
 
das versteh ich jetzt nich :freak:

pilic 1. Feb 2007 20:11

Re: rechtsklick auf form --> popupmenu
 
Hi,

OnMouseDown

Delphi-Quellcode:
procedure TForm1.mdown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button=mbRight
    then
      popupmenu1.popup(Left+x,Top+y);
end;
[Edit]Noch besser ist es, wenn das PopupMenu auch wirklich am Cursor ist[/Edit]

Matze 1. Feb 2007 20:20

Re: rechtsklick auf form --> popupmenu
 
Kann man das nicht einfach, indem man ein TPopupMenu auf's Formular zieht und das im Objektinspektor mit diesem verknüpft? Ich denke, das meint auch dataspider. Oder hat das irgendwelche Nachteile, weil ihr etwas kompliziertere Lösungen vorschlagt?

passsy 1. Feb 2007 20:25

Re: rechtsklick auf form --> popupmenu
 
Delphi-Quellcode:
procedure Tsession.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
 point:Tpoint;
begin
if Button=mbRight then
 begin
  GetCursorPos(point);
  PopupMenu1.Popup(point.x, point.y);;
 end;
end;

so läufts jetzt bei mir und ich bin glücklich danke jungs :thumb:

pilic 1. Feb 2007 20:26

Re: rechtsklick auf form --> popupmenu
 
Normalerweise geht das genauso gut im OI. Aber man kann die Position anpassen, wenn man es "umständlich" macht. Außerdem hab ich wohl den Tip von dataspider übersehen und den von mkinzler hat er ja nicht verstanden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr.
Seite 1 von 2  1 2      

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