Tedit

Тема в разделе "Delphi - FAQ", создана пользователем DZX, 6 апр 2006.

Статус темы:
Закрыта.
  1. DZX

    DZX Гость

    Уважаемые коллеги, смешная ситуация, однако...
    В компоненте TEdit при нажатии клавиши enter воспроизводится
    системный звук типа когда кликают на неактивное окно приложения
    когда фокус находится на другом модальном окне.
    Что то я недопонимаю причины явления, а бибиканье надоело,
    может подскажите где собака зарыта?
     
  2. Barmutik

    Barmutik Гость

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

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

    Код (Text):
    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;
     
  3. DZX

    DZX Гость

    Большое спасибо, нажатие у меня обрабатывалось, но переопределить код нажатой клавиши не догадался.
     
Статус темы:
Закрыта.

Поделиться этой страницей