![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Eliminar Pulsación tecla Supr
Hola a todos/as. Ya he planteado este asunto y he buscado en los foros pero no consigo solucionarlo. Se trata simplemente de eliminar la pulsación de la tecla Supr, ya que la utilizo en los maestros para eliminar registros. Tengo el siguiente código:
Código:
procedure TIndices.DBCtrlGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin inherited; //Pulsacion de Borrar Registro (Suprimir) if (Key=VK_DELETE) then begin //He probado con cualquiera de las tres: //1.- Key := 0; //2.- Key:=VK_OEM_CLEAR; //3.- DBCtrlGrid1.DoKey(gkNull); if not (DataSource1.State in [dsInsert,dsEdit]) and not (DataSource1.DataSet.Eof) then if (Application.MessageBox('¿Seguro que desea borrar el registro?', 'Sistema de Gestión de Constructoras',mb_yesno+mb_IconInformation)=idyes) then DataSource1.DataSet.Delete; Exit; end; Por favor, indicarme como conseguir que no surpima tras su captura. Gracias
__________________
Se hace lo que se puede que siempre es menos de lo que se dice |
#2
|
||||
|
||||
Me parece que el problema está en la llamada a inherited. La haces antes de cualquier cosa y por tanto siempre hace lo que normalmente hace. Llama a inherited únicamente cuando la tecla no sea VK_DELETE.
// Saludos |
#3
|
||||
|
||||
Gracias Roman. Voy a probarlo.
__________________
Se hace lo que se puede que siempre es menos de lo que se dice |
#4
|
||||
|
||||
Hola Roman, ya lo he probado y he puesto lo siguiente:
Código:
procedure TIndices.DBCtrlGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin //Pulsacion de Borrar Registro (Suprimir) if (Key=VK_DELETE) then begin Key := 0; if not (DataSource1.State in [dsInsert,dsEdit]) and not (DataSource1.DataSet.Eof) then if (Application.MessageBox('¿Seguro que desea borrar el registro?', 'Sistema de Gestión de Constructoras',mb_yesno+mb_IconInformation)=idyes) then DataSource1.DataSet.Delete; Exit; end else inherited; if (Key=VK_RETURN) then //Simulación de Tab (Enter) begin . . .
__________________
Se hace lo que se puede que siempre es menos de lo que se dice |
#5
|
||||
|
||||
Has puesto KeyPreview a True en el formulario?
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
![]() |
#6
|
||||
|
||||
Sí Marcos, la verdad es que me está volvinedo loco el tema.
__________________
Se hace lo que se puede que siempre es menos de lo que se dice |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
|