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;
原文:http://www.cnblogs.com/cnby/p/3995413.html