Versucht mal unter Delphi 4, ein Tmainmenu mit folgenden Items anzulegen:<p>&File und S&ettings.<P>Wenn dann bei laufendem Program die Tastenkombination <B>ALT + S</B> betätigt wird, dann aktiviert sich der Settings-Menupunkt, obwohl der Hotkey e ist? Jemand eine ide
Announcement
Collapse
No announcement yet.
TMainmenu hat Probleme mit ALT+S
Collapse
X
-
Scheinbar ist Delphi hier zu fleißig.
Alle ersten Buchstaben der Menüs können ebenfalls mittels <b>ALT</b> erreicht werden, solange sie nicht andersweitig benutzt werden!
Ergänz mal dein Menü <b>Te&st</b>. Die Tastenkombination <b>ALT + S</b> wird jetzt richtig verbunden, jedoch ist dieser Menüpunkt auch mit <b>ALT + T</b> erreichbar
-
versuch dann mal folgendes: füge einen button ein mit der caption T&esten. im's onclick-ereigniss kommt dann folgender code:<P>
raise Exception.Create('Test');<P>compilieren und dann den knopf mit alt+e aktivieren. es wird dann eine exception ausgelößt. nach dieser exception müßte dann der menu-punkt s&ettings geöffet sein. das ist mein eigendliches problem. wenn's nicht auftritt, dann teste das ganze auserhalb der ide
Comment
-
das problem ist, daß der menueintrag offen ist. tausche einfach das raise exception.create durch ein showmessage aus und der menupunkt öffnet sich nicht mehr. und wenn du den button mit der Caption &Settings und den menuitem mit S&ettings belegt und die exception auslöst, dann öffnet delphi dennoch nach der excpetion das menu. mir kommt der verdacht, daß durch das abbrechen des onclick-ereignisses, der hotkey irgendwie weiter ans mainmenu weitergegeben wird. wenn's so ist, wie kann ich das unterbinden
Comment
-
meine applicationen sehen so aus wie die ide von delphi. das hauptfenster mit mainmenu und alle weitren fenster werden mit hilfe von speedbuttons bedient. wenn ich jetzt einen speedbutton mit alt + s (&Speichern) aktivere und eine excption auslöse, dann springt mir das programm zurück zum hauptfenster und öffnet dort mein &Stammdaten-menu. deshalb ist dieser effekt so störend
Comment
-
nein. da ich die projekte von delphi 3 auf 4 portiert habe. auserdem ist das nicht ganz windows standart. ich hab nämlich in allen forms die buttons &Neu, &Ändern, &Löschen, &Speichern, &Abbrechen, &Blättern (<- Übersicht). und die kunden sind diese logik jetzt gewohnt,darum wäre umstellen eine schlechte idee. auserdem ist das strg + s nicht so visuell wie alt + s (wenden der unterstreichung des hotkeys
Comment
-
Wieso?<br>
Im Internet Explorer, ... ist der ShortCut für Speichern auf Strg + S gelegt. Zusätzlich kann der Menüpunkt auch noch angewählt werden, wenn das Menu (Normalerweise Datei) aufgeklappt ist und die Taste S gedrückt wird (kein Alt + S).<br>
Da Du scheinbar jedoch alles mit Buttons macht, belegst du zusätzlich
zum eigentlichen Schortcut den Alt + Taste Kombination.
Die Umstellung auf Action-Listen ist zwar einiges an Klick-Arbeit, jedoch können mehrer Oberflächenelemente auf eine Action-Eintrag verweisen (Menüpunkt, Toolbutton, ...). Schau es Dir einfach mal an und probier es mal aus! Vielleicht lößen die Action-Listen dein Problem
Comment
-
Wennst Du für jede Aktion (Neu, Ändern, ...) jeweils nur einen 'Auslöser' hast, so mußt Du natürlich bei verwendung von Actionlisten ein bis zwei Klicks mehr machen. Aber sobald mehr Oberflächenelemente die gleiche Aktion auslösen, so sind doch TAction-Elemente einfacher zu handhaben (Icon zuweisen, Enable/Disable, Sichtbar, ...).
Wie man ein solche Key-Ereigniss killt, bin ich auch überfragt. Müßtest eventuell im SourceCode der VCL tracen
Comment
Comment