Tedit

  • Автор темы DZX
  • Дата начала
Статус
Закрыто для дальнейших ответов.
D
#1
Уважаемые коллеги, смешная ситуация, однако...
В компоненте TEdit при нажатии клавиши enter воспроизводится
системный звук типа когда кликают на неактивное окно приложения
когда фокус находится на другом модальном окне.
Что то я недопонимаю причины явления, а бибиканье надоело,
может подскажите где собака зарыта?
 
B

Barmutik

#2
Это звук издаёт MS Windows при получениии сообщения о нажатии клавиши по которой ничего не делается ... в лоб решить просто ...

Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); 
begin 
if Key = #13 then
 Key := #0; 
end;
А ещё лучше по вводу перехродить просто на другой контрол

Код:
procedure Edit.OnKeyPress(Sender: TObject; var Key: Char) 
begin 
if Key = #13 then 
begin 
 TWinControl(Sender).SelectNext(TWinControl(Sender), true, true); 
 Key := #0; 
end; 
end; 

или

procedure Edit.OnKeyPress(Sender: TObject; var Key: Char) 
begin 
if Key = #13 then 
begin 
 FocusControl(FindNextControl(ActiveControl, true, true, false)); 
 Key := #0; 
end; 
end;
 
D
#3
Большое спасибо, нажатие у меня обрабатывалось, но переопределить код нажатой клавиши не догадался.
 
Статус
Закрыто для дальнейших ответов.