Delphi-PRAXiS
Seite 2 von 2     12   

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üpunkte ohne ALT-Taste aufrufen (https://www.delphipraxis.net/137469-menuepunkte-ohne-alt-taste-aufrufen.html)

uligerhardt 21. Jul 2009 17:19

Re: Menüpunkte ohne ALT-Taste aufrufen
 
Zitat:

Zitat von DeddyH
Aber bei z.B. Edits oder ComboBoxen bekommst Du dann immer noch Probleme (es sei denn, Du kannst Gedanken lesen), denn soll bei Druck auf "S" nun gespeichert werden oder war das eine Eingabe? Wir drehen uns im Kreis.

Meinst du mich? Wo ein Tastendruck eine Eingabe sein kann, soll er auch so interpretiert werden. Siehe hier und hier.

uligerhardt 21. Jul 2009 17:23

Re: Menüpunkte ohne ALT-Taste aufrufen
 
Zitat:

Zitat von NamenLozer
Hast du Zugriff auf die Sourcen der VCL?

Ja. Hab auch schon einiges davon für meine IsShortCut-Implementierung recycled.

Zitat:

Zitat von NamenLozer
Du könntest dir ja mal anschauen, wie Borland/CodeGear/Embarcadero die Eigenschaft KeyPreview von TForm implementiert hat. Vielleicht könntest du dir davon was abgucken.

Gute Idee! Mal sehen, was ich noch finde.

himitsu 21. Jul 2009 17:29

Re: Menüpunkte ohne ALT-Taste aufrufen
 
Zitat:

Zitat von uligerhardt
Damit das das Problem löst, müsste meine Anwendung aber dauernd in der Menüschleife stehen, oder? Dann wäre es sogar noch schwieriger, Text in ne Editbox zu kriegen.

nö?
einfach nur grad nochmals mit 'nem TMainMenü ausprobiert und bei TPopupMenü sollte es das Selbe sein (die arbeiten ja gleich)

halt solange das Menü geöffnet ist :angel2:

aber sonst wird es wohl recht schwierig ... du könntest .B. in die Buttons und So (außer Edits, Memos ...) eine OnKeyPress-Methode implementieren, welche deine Wunschtasten ans Menü weiterleitet oder die Funktionen direkt aufruft


allerdings geht ja windows immer mehr von Tasten auf Maussteuerung über, oder wodurch erklärt es sich sonst, daß "neuerdings" die Markierungen der Menü-HotKeys ausgeblendet sind?
Zitat:

Zitat von uligerhardt
"Standardmäßig" ging unter DOS vermutlich gar nix. Aber in alten Versionen unserer Software war's halt so. Und letzthin wurde mir vorgerechnet, dass unsere Anwender jetzt 1500mal öfter am Tag ALT drücken müssen als anno dunnemals. :)

wer rechnet denn sowas? :shock;

nja, "standardmäßig" in Bezug auf z.B. die Menüleite, welche man sich per TurboPascal einbauen konnte :angel2:

uligerhardt 21. Jul 2009 17:39

Re: Menüpunkte ohne ALT-Taste aufrufen
 
Zitat:

Zitat von himitsu
nö?
einfach nur grad nochmals mit 'nem TMainMenü ausprobiert und bei TPopupMenü sollte es das Selbe sein (die arbeiten ja gleich)

halt solange das Menü geöffnet ist :angel2:

Nönö, das mit F10, loslassen, N und so funktioniert schon. Ich sehe nur nicht, wie ich damit unser Problem lösen kann.

Zitat:

Zitat von himitsu
aber sonst wird es wohl recht schwierig ... du könntest .B. in die Buttons und So (außer Edits, Memos ...) eine OnKeyPress-Methode implementieren, welche deine Wunschtasten ans Menü weiterleitet oder die Funktionen direkt aufruft

Das hört sich an, als würde es aufwändig werden.

Zitat:

Zitat von himitsu
Zitat:

Zitat von uligerhardt
"Standardmäßig" ging unter DOS vermutlich gar nix. Aber in alten Versionen unserer Software war's halt so. Und letzthin wurde mir vorgerechnet, dass unsere Anwender jetzt 1500mal öfter am Tag ALT drücken müssen als anno dunnemals. :)

wer rechnet denn sowas? :shock;

Wir haben pingelige Anwender. :lol:

Zitat:

Zitat von himitsu
nja, "standardmäßig" in Bezug auf z.B. die Menüleite, welche man sich per TurboPascal einbauen konnte :angel2:

Schon klar. Bei uns war zu DOS-Zeiten alles Eigenbau - nix TurboVision oder so. War lang vor meiner Zeit. :)

himitsu 21. Jul 2009 18:24

Re: Menüpunkte ohne ALT-Taste aufrufen
 
Zitat:

Zitat von uligerhardt
Das hört sich an, als würde es aufwändig werden.

du brauchst eigentlich nur eine OnKeyPress-Prozedur erstellen, worin entweder per CASE auf die Buchstaben reagiert wird,
oder man geht das Menü durch, schaut darin, ob dort ein Alt+Buchstabe Hotkey existiert und ruft die zugehörige OnClick-Prozedur auf.
Letzteres hätte auch den Vorteil, daß man keine weitere Tastenliste anlegen muß.

Und dann weißt man entweder im OI allen Komponenten, welche kein Edit/Memo sind, diese Prozedur zu.
Man kann ja mehrere Markieren und ihren zusammen die Ereignisprozedur zuweisen.
Oder man geht im OnCreate der Form alle Komponenten durch prüft auf not X is TCustomEdit und weißt diesen die Prozedur zu.

uligerhardt 21. Jul 2009 19:23

Re: Menüpunkte ohne ALT-Taste aufrufen
 
Zitat:

Zitat von himitsu
Zitat:

Zitat von uligerhardt
Das hört sich an, als würde es aufwändig werden.

du brauchst eigentlich nur [...snip]

Ich meinte eher, alle Eventualitäten zu berücksichtigen - z.B. die oben erwähnten Inplace-Edits eines Grids. Ich werde es morgen mal ausprobieren; vielleicht war ich ja mal wieder übertrieben skeptisch. :)

himitsu 21. Jul 2009 19:51

Re: Menüpunkte ohne ALT-Taste aufrufen
 
wenn du es als OnKeyDown-Procedur nur in Komponenten integrierst, wo keine derartigen Tasten nötig sind, dann dürfte es keine Probleme (auch mit den InPlace-Sachen) geben


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz