Delphi-PRAXiS

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 Menübutton ShortCut onClick Ereigniss (https://www.delphipraxis.net/151254-menuebutton-shortcut-onclick-ereigniss.html)

EarlyBird 10. Mai 2010 09:17


Menübutton ShortCut onClick Ereigniss
 
Hallo,
ich habe einem MenüButton ein ShortCut zugewiesen (Strg + Einfg).
Im onClick des MenüButtons werden Datensätze in eine Tabelle eingefügt.
Ich möchte das beim benutzen des ShortCuts immer nur ein Datensatz hinzugefügt wird.
Beim Klicken auf den MenüButton sollen mehrere Datensätze eingefügt werden.
Kann ich nun im onClick Ereigniss feststellen ob der User mit der Maus auf den MenüButton geklickt hat oder ob er der ShortCut benutzt hat?

Danke für jeden Tipp
Gruß EarlyBird

Kurt56 10. Mai 2010 09:43

Re: Menübutton ShortCut onClick Ereigniss
 
Ich befürchte, der Short-Cut löst das Menü-Ereignis aus.
Es ist also wohl nicht zu unterscheiden, ob mit der Maus geclickt wurde, oder der Short-Cut gedrückt wurde.

himitsu 10. Mai 2010 09:47

Re: Menübutton ShortCut onClick Ereigniss
 
Der ShortCut ist doch die Schnellwahl dieses Menüs, also sollte da auch genau das Selbe gemacht werden, wie beim direkten Aufruf des Menüs.

Kurt56 hat also Recht und es gibt ja auch eigentlich keinen Grund sowas zu unterscheiden.

Wenn da wirklich was anderes gemacht werden soll, dann darf der ShortCut eben nicht über diesen Menüpunkt laufen.

EarlyBird 10. Mai 2010 09:57

Re: Menübutton ShortCut onClick Ereigniss
 
Wäre halt schön gewesen wen es funktioniert hätte.

Noch mal ein bisschen weiter erläutert warum ich das so machen wollte:
Der Button ist in einem SubMenü enthalten.
In dem Submenü kann ich in einem Editfeld die Anzahl einzufügender Datensätze eingeben.
Nutze ich nun den ShortCut füge ich schnell unbeabsichtigt mehr Datensätze ein wie gewollt.
Das wollte ich verhindern.

Danke für die schnellen Antworten.

Dann werde ich es mit einer ActionList machen.

Guido Eisenbeis 10. Mai 2010 18:45

Re: Menübutton ShortCut onClick Ereigniss
 
Prinzipiell stimme ich meine Vorrednern zu und empfehle, das Konzept zu ändern und z. B. einen zweiten MenüPunkt zu verwenden. Dieser MenüPunkt kann dann einen einzelnen Datensatz einfügen und mit dem ShortCut angesprochen werden.

Was für ein Menü benutzt du denn? Wenn du ein PopupMenu benutzt und eine Unterscheidung erzwingen willst, kannst du das erreichen, indem du das KeyPreview der Form einschaltest und OnKeyDown auswertest. Dort kannst du mit "Key" und "Shift" prüfen, ob deine Tastenkombination gesendet wurde, und darauf reagieren.

Aber wie gesagt, ich würde die obere Lösung empfehlen.

Guido.


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