procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_NEXT) and (ssCtrl in Shift) then
begin
Caption:=Caption+'%';
Key:=0; //阻截按键
end;
end;
//Form的KeyPreview属性设为True
OK?
我使用ctrl+pagedown它還是向下翻一頁,然後執行我的事件,不知道是不是這樣寫:
procedure TfrmBs.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_PRIOR) and (Shift = [ssCtrl]) then begin
do something;
Key := 0;
end;
end;
呵呵,如果要DBGrid不翻页的话,可以直接在DBGrid的OnKeyDown事件中做嘛:
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and ((Key=VK_NEXT or (Key = VK_Prior)) then
begin
//写你的代码
ShowMessage('This');
Key := 0; //把PageDown屏蔽掉
end;
end;
呵呵,与前面几位的方法相同,只是在DBGrid中响应就没事了。