![]() |
Menüpunkte ohne ALT-Taste aufrufen
Hallo zusammen!
Unter Windows kann man Menüpunkte ja auch mit Tastatur aufrufen, z.B. "&Neu" per ALT-N. Unsere Benutzer sind es nun aus DOS-Zeiten gewöhnt, dass das auch ohne ALT-Taste funktioniert, also im Beispiel schon durch "N" allein. Das habe ich prinzipiell auch hingekriegt, indem ich in unserer Basisformklasse IsShortCut überladen habe. Das hat allerdings den Nachteil, dass man jetzt z.B. in Editboxen nur noch Buchstaben eingeben kann, die nicht als Menüpunkt vergeben sind. Mir schwebt jetzt eine Lösung vor, in der ich meine Tastendrücke für das Menü erst in Betracht ziehe, nachdem Editboxen etc. ihre Chance hatten. Allerdings habe ich bis jetzt keine passende Stelle dafür gefunden. Hat jemand einen Tipp für mich? Bye, Uli. |
Re: Menüpunkte ohne ALT-Taste aufrufen
Also wenn das Menü geöffnet ist, dann kann ich den Buchstaben auch so ohne Alt benutzen.
z.B. F10, D und dann F = "&Datei > Datei Ö&ffnen..." im FireFox (oder statt F10 ein ALT) Und ich kann mich nicht erinnern, daß es in DOS früher "standardmäßig" ohne Alt gin, wenn wenn damü noch zugeklappt war. :gruebel: Es sei denn ein Programmierer harre die Tasten selber "global" abgefangen. |
Re: Menüpunkte ohne ALT-Taste aufrufen
Zitat:
Zitat:
|
Re: Menüpunkte ohne ALT-Taste aufrufen
Was installieren die sich auch so einen neumodischen Kram wie Windows :mrgreen:
|
Re: Menüpunkte ohne ALT-Taste aufrufen
Kannst du nicht einfach prüfen, ob das aktive Control ein Eingabefeld ist?
|
Re: Menüpunkte ohne ALT-Taste aufrufen
Wobei auch das in meinen Augen Murks wäre, da man dann entweder doch die ALT-Taste braucht oder ein paar mal mit dem Tabulator den Fokus auf ein Nicht-Eingabefeld setzen müsste, damit das klappt.
|
Re: Menüpunkte ohne ALT-Taste aufrufen
Zitat:
|
Re: Menüpunkte ohne ALT-Taste aufrufen
Zitat:
|
Re: Menüpunkte ohne ALT-Taste aufrufen
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.
|
Re: Menüpunkte ohne ALT-Taste aufrufen
Zitat:
|
Re: Menüpunkte ohne ALT-Taste aufrufen
Zitat:
![]() ![]() |
Re: Menüpunkte ohne ALT-Taste aufrufen
Zitat:
Zitat:
|
Re: Menüpunkte ohne ALT-Taste aufrufen
Zitat:
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:
nja, "standardmäßig" in Bezug auf z.B. die Menüleite, welche man sich per TurboPascal einbauen konnte :angel2: |
Re: Menüpunkte ohne ALT-Taste aufrufen
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Menüpunkte ohne ALT-Taste aufrufen
Zitat:
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. |
Re: Menüpunkte ohne ALT-Taste aufrufen
Zitat:
|
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 03:27 Uhr. |
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