在当前Tech_YdjcFormForm中,有Dbgrid1,edit1,Tech_YdjcFormForm菜单中有快捷键Del删除Dbgrid1的当前记录,结果导致在edit1中删除某个字符时,执行的总是删除Dbgrid1的当前记录,我在FormKeyDown中写如下事件,根本就不执行,请高手指点,谢谢。
procedure TTech_YdjcForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key= VK_DELETE ) and not Edit1.Focused then
Begin
if Application.MessageBox('确实要删除此条记录吗?','提示',33)=1 then
Tech_DataMForm.ADODs_Tech_Ydjcb.Delete
else
Tech_DataMForm.ADODs_Tech_Ydjcb.Cancel;
end
end;
procedure TTech_YdjcForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key= VK_DELETE ) and not Edit1.Focused then
Begin
if Application.MessageBox('确实要删除此条记录吗?','提示',33)=1 then
Tech_DataMForm.ADODs_Tech_Ydjcb.Delete
else
Tech_DataMForm.ADODs_Tech_Ydjcb.Cancel;
end
end;
将原来Del快捷键的代码放到DbGrid的OnKeyDown事件中就行了.