Как заставить TEdit не пикать при нажатии недопустимых клавиш?

Материал из DRKB

Как заставить TEdit не пикать при нажатии недопустимых клавиш?[править | править код]

Перехватите событие KeyPress и установите key = #0 для недопустимых клавиш.


procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if ((UpCase(Key) < 'A') or (UpCase(Key) > 'Z')) then Key := #0;
end;


Source: Взято из http://forum.sources.ru
ID: 00532



// Either disable the Beep in the OnKeyPress handler: 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then // #13 = Return 
  begin
    key := #0;
    // Code... 
 end;
end;

// Or in the OnKeyDown-Handler: 

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
  Mgs: TMsg;
begin
  if Key = VK_RETURN then
    PeekMessage(Mgs, 0, WM_CHAR, WM_CHAR, PM_REMOVE);
end;


Source: Взято с сайта: http://www.swissdelphicenter.ch
ID: 00981