teclado - Menú principal oculto en un programa delphi, que se muestra automáticamente con la tecla Alt
simbolos ocultos teclado pc (1)
Use un TMainMenu
con una TActionList
como de costumbre.
Entonces hazlo
procedure TForm1.FormShow(Sender: TObject);
begin
Self.Menu := nil;
end;
(o simplemente elimine la asociación del Menu
en el momento del diseño) y
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_MENU) or (Key = VK_F10) then
Menu := MainMenu1;
end;
y
procedure TForm1.WndProc(var Message: TMessage);
begin
inherited;
case Message.Msg of
WM_EXITMENULOOP:
SetMenu(Handle, 0);
end;
end;
No olvides configurar KeyPreview
del KeyPreview
en true
.
(Tenga en cuenta que, dado que los atajos son manejados por TActionList
, funcionan incluso si el menú ''se fue'').
Primero, permítanme decir que abomino de esta característica en Windows Vista y Windows 7. En segundo lugar, quiero hacerlo. Here hay una pregunta que me pregunta cómo hacer lo que quiero aquí, en WPF.
Quiero hacer lo mismo, pero en Delphi, utilizando componentes de stock VCL, menús TMainMenu o Action Manager, o algunos componentes de terceros disponibles, incluso Toolbar2000 o alguna otra biblioteca.
Característica de los menús principales del explorador de Windows Vista / Windows 7:
- no es visible cuando se inicia la aplicación
- presionar y soltar Alt lo hace visible
- al presionar y soltar Alt otra vez, vuelve a ser invisible
- repetible
- las teclas rápidas funcionan en los elementos del menú, incluso cuando el menú es invisible *
(* Ejemplo de teclas rápidas de Windows Explorer: Ctrl + A en el Explorador de Microsoft Windows selecciona todas incluso cuando los menús son invisibles, Alt + T = abre el menú emergente Herramientas, incluso cuando el menú completo está oculto).
Actualización: la demostración con la respuesta aceptada se puede descargar here . (HiddenMenu.zip)