Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como Detectar Ctrl+del? (https://www.clubdelphi.com/foros/showthread.php?t=36458)

ElCherchu 12-10-2006 17:15:05

Como Detectar Ctrl+del?
 
Hola a todos.

En una aplicación delphi quiero controlar que no me pulsen la combinacion de teclas Ctrl+Del sobre una grilla con el proposito que no puedan borrar registros de esa forma, sé como detectar cuando pulsan las teclas CONTROL, ALT, F1, entre otras, pero no como detectar la combinación del CONTROL+DEL.

cuento con su ayuda..

ElCherchu...

roman 12-10-2006 17:37:51

En el evento BeforeDelete del dataset asociado lanza una excepción o simplemente pon abort. Para que no salga el mensajilli de confirmación, desactiva la opción dgConfirmDelete en las opciones del grid.

// Saludos

Lonidas 12-10-2006 18:06:49

también puedes negar que use un botón para que no haga la combinación de control+del

Código Delphi [-]
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (key=VK_CONTROL)then
showmessage('Accion Prohibida')
end;

roman 12-10-2006 18:14:31

Haciendo algunas pruebas, aun cuando el evento OnKeyDown sí detecta la tecla CONTROL, no parece evitar el CTRL-DEL aún poniendo Key := 0. Sin embargo, parece funcionar si lo que detectamos es la tecla DELETE con el modificador Ctrl:

Código Delphi [-]
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if (Key = VK_DELETE) and (ssCtrl in Shift) then
    Key := 0;
end;

// Saludos


La franja horaria es GMT +2. Ahora son las 16:43:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi