Creación de un acceso directo de aplicación Delphi sin un elemento de menú correspondiente
Pregunta
Quiero tener una combinación de teclas de acceso directo (como CTRL + ALT + D) en mi aplicación para invocar una función, pero no quiero que aparezca el acceso directo en ningún menú.¿Es posible tener un acceso directo disponible en su aplicación que de otra manera sea invisible?
Solución
Puede usar el OnShortCut
evento de la TApplicationEvents
componente a esta tarea
Verifique este código
procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean);
begin
if (Msg.CharCode = Ord('D')) and (HiWord(Msg.KeyData) and KF_ALTDOWN <> 0) and (GetKeyState(VK_CONTROL) < 0) then
begin
ShowMessage('Ctrl+Alt+D Pressed') ;
Handled := true;
end;
end;
Otros consejos
Sí, es posible.Debe agregar un objeto de tacción de clase a su formulario. Puede especificar un acceso directo de teclado para la tacción y luego coloque su código en caso onexecute de la tacción.
Tenga en cuenta que no puede agregar una tacción directamente a su formulario, debe colocar una lista de tacción en su formulario y luego puede agregar una tacción a su lista de tacción.