delphi 快捷键用法

1. 窗体上全局 快捷键,首先设置keyprivew 属性为true.

procedure TFMzcfLr.FormKeyDown(Sender : TObject; var Key : Word;
  Shift : TShiftState);
begin
  if Key = 13 then            //当按下回车时 
    begin      
      if ActiveControl is TStringGrid then
        Exit;
      if ActiveControl is TDBGrid then
        Exit;
      if ActiveControl = EdtJbJma then
        Exit;
      if ActiveControl = EdtNling then
        Exit; 
      Key := 0;         //吃掉回车键 
      Perform(WM_NEXTDLGCTL, 0, 0);  //把光标定位到下个控件 。  
    end;
end;
具体这个:http://blog.sina.com.cn/s/blog_5c52ae1b0100lnwq.html

 2.  过滤键值。

 

procedure TFMzcfLr.StringGrid1KeyPress(Sender : TObject; var Key : Char);
begin
  if StringGrid1.Col in [4] then
    if not (Key in ['0'..'9', #8, #13]) then
      Key := #0;

  if StringGrid1.Col in [8] then
    if not (Key in ['0'..'9', '.', #8, #13]) then
      Key := #0;
end;

 3. 在菜单上添加 全局的快捷键。

mainMenu 的shortCut 属性。

 

posted @ 2014-09-26 18:07  cnby3  阅读(245)  评论(0编辑  收藏  举报