在Edit的OnKeyPress和OnKeyDown事件中: procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9']) then key:=#0; end;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin case Key of VK_DOWN: Edit1.Text := IntToStr(StrToInt(Edit1.Text)-1); VK_UP: Edit1.Text := IntToStr(StrToInt(Edit1.Text)+1); end; end;
在Edit的OnKeyPress事件中加入一下代码即可。 procedure Tfrmdiaobo.z_idKeyPress(Sender: TObject; var Key: Char); begin if ( key in ['0'..'9'])or(key=chr(13))or(key=chr(vk_back))or(key=chr(vk_tab)) then else key:=#0; if key=#13 then begin key:=#0; PostMessage(Handle,WM_KEYDOWN,VK_TAB,0); end; end;
设置UpDown控件的Associate属性为指定的Edit即可
指定UPDOWN控件的Asociate属性为edit1
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9']) then
key:=#0;
end;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_DOWN: Edit1.Text := IntToStr(StrToInt(Edit1.Text)-1);
VK_UP: Edit1.Text := IntToStr(StrToInt(Edit1.Text)+1);
end;
end;
procedure Tfrmdiaobo.z_idKeyPress(Sender: TObject; var Key: Char);
begin
if ( key in ['0'..'9'])or(key=chr(13))or(key=chr(vk_back))or(key=chr(vk_tab)) then
else key:=#0;
if key=#13 then
begin
key:=#0;
PostMessage(Handle,WM_KEYDOWN,VK_TAB,0);
end;
end;