限制為只接收數字的例程如下:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['0'..'9',#8])then
begin
key:=#0;
MessageBeep(1);
end;
end;
程序通過TEdit組件的OnKeyPress事件,判斷按鍵是否為0至9這10個數字鍵,或者是BackSpace鍵,如果不是則將該輸入設置為空(key:=#0),將其屏蔽掉;如果是則接收字符輸入。這裡有一點需要說明的是,#8對應BackSpace鍵,我們不應將它也屏蔽掉,否則不能使用退格(BackSpace)鍵刪除錯誤的數字輸入。
同樣,如果要限制編輯框只接收字母(不管大小寫)輸入,程序如下:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['a'..'Z',#8])then
begin
key:=#0;
MessageBeep(1);
end;
end;
更復雜的輸入限制,如日期格式、電話格式等輸入限制,應該使用Delphi的另一個組件MaskEdit(掩碼編輯框)。