Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Bei Rechtsklick kein PopupMenu (https://www.delphipraxis.net/30034-bei-rechtsklick-kein-popupmenu.html)

Armageddon 18. Sep 2004 20:18


Bei Rechtsklick kein PopupMenu
 
Hallo allerseits,

ich grübel schon einige Zeit über dem Problem das ich gern bei einem Rechtsklick auf ein EDIT kein PopupMenu haben möchte. Sodas niemand etwas einfügen oder kopieren oder sonstwas kann. Deshalb hätte ich gern das ich wenn ich nen Rechtsklick mache nichts angezeigt bekomme. Kann mir da jemand folgen. Habe schon in der Hilfe und hier im Forum gesucht aber nichts passendes aus meiner Sicht gefunden. Vielleicht kann mir ja einer mal ein paar einfache Brocken Beispielcode hier posten.

Danke Markus

Aenogym 18. Sep 2004 20:19

Re: Bei Rechtsklick kein PopupMenu
 
hi,

du kannst ja im OnMouseUp/OnMouseDown-Ereignis reagieren. wenn die maustaste die rechte war, dann machst du einfach wieder auf linke maustaste und gut ;)

edit: aus dem kopf
Delphi-Quellcode:
procedure edit1.onmousedown(sender: tobject; button: TMouseButton);
begin
  if button = mbRight then
    button := mbLeft;
end;
Aenogym

Armageddon 18. Sep 2004 20:34

Re: Bei Rechtsklick kein PopupMenu
 
Hi Aenogym,

die Idee ist mir auch schon gekommen aber funktioniert einfach nicht den das Standartpopupmenu kommt trotzdem noch. Komischerweise kommt wenn ich angebe das eine ShowMessage angezeigt werden soll nur die Message und dann kein PopupMenu. Hmmm muß ich wohl noch bisserl probieren.

Trotzdem Danke

himitsu 18. Sep 2004 21:08

Re: Bei Rechtsklick kein PopupMenu
 
@Aenogym: deine Zuweisung ist doch total sinnlos und konnte garnicht funktionieren - denn da button nicht als Var-Parameter definiert ist, kannst du auch den Wert davon nicht ändern.
Und slebst wenn es ginge, hätte man onMouseUp ändern müssen, da ja das ContextMenü erst auf das loslassen der Maustaste reagiert :zwinker;

Also Armageddon ... hier eine an einfachheit nicht zu unterbietende Lösung :mrgreen:

Setze ein leeres PopupMenu (TPopupMenu) auf dein Formular und weise es deinem Editfeld zu. (es dürfen also keine Item's drin sein)

Und dann nochwas:
es ist dann ja immernoch möglich per Tastenkombination (z.B. Strg+C) darin etwas zu Kopieren, deshalb mußt du dann noch folgendes der bei onKeyPress deines Edit's hinzufügen.

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
  begin
    Key := #00;
  end;
Du könntest dir aber auch alles ersparren und einfach Enabled auf false setzen :roll:

Armageddon 18. Sep 2004 21:11

Re: Bei Rechtsklick kein PopupMenu
 
Wow das läuft ja heute wie am Schnürchen mit den Antworten. Super. Habe das mit dem leeren Popup schon im Forum gefunden aber ich Doofmann habe ein leeres Item angelegt. Oh man dabei ist die Lösung ja so einfach. :wall:

Tausend Dank Himitsu

himitsu 18. Sep 2004 21:17

Re: Bei Rechtsklick kein PopupMenu
 
Was, das mit dem leeren Popup gibt es hier schon ... dachte schon ich hätte 'ne geile Lösung erfunden http://FNSE.de/S1LK.gif

Aenogym 18. Sep 2004 21:54

Re: Bei Rechtsklick kein PopupMenu
 
Zitat:

Zitat von himitsu
@Aenogym: deine Zuweisung ist doch total sinnlos und konnte garnicht funktionieren - denn da button nicht als Var-Parameter definiert ist, kannst du auch den Wert davon nicht ändern.
Und slebst wenn es ginge, hätte man onMouseUp ändern müssen, da ja das ContextMenü erst auf das loslassen der Maustaste reagiert :zwinker:

jojo sorry. ich dachte, das button als var übergeben ist (war schließlich aus dem kopf). und dass ers ins mousedown amchen soll war absicht. klick mal mit rechts in ein edit ohne die taste loszulassen - das popup kommt.

Aenogym

himitsu 18. Sep 2004 23:28

Re: Bei Rechtsklick kein PopupMenu
 
Also bei mir kommt das Popup immer erst, wenn ich die Maustaste loslaß.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:15 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