Отключить звук при открытии модального окна сочетание

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Отключить звук при открытии модального окна сочетание

Сообщение Александр Яшин » 21.11.2009 09:41:18

Пытаюсь создать поиск в TMemo как во всех текстовых редакторах. Т.е. при нажатии Ctrl+F должно открываться окно диалога поиска. При открытии этого окна издается звук Windows. Это раздражает. Как отключить этот звук?
Для нажатия клавиши Enter, например в TEDit знаю.
Key:= #0;
в обработчике OnKeyPress, но для моего случая необходимо использовать OnKeyDown, а там параметр Key типа Word.
Key:= 0;
не работает.
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01

Re: Отключить звук при открытии модального окна сочетан

Сообщение Александр Яшин » 23.11.2009 17:20:31

Неужели никто не знает?
Эй, знатоки, отзовитесь!
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01

Re: Отключить звук при открытии модального окна сочетан

Сообщение Kubanych » 23.11.2009 18:04:07

Попробуй так:
Код: Выделить всё
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState );
begin
  if((Key = ord('F')) and (ssCTRL in Shift)) then
  begin
    if not Assigned(Form2) then
      Application.CreateForm(TForm2, Form2);
    SystemParametersInfo(SPI_SETBEEP, 0, nil, SPIF_SENDCHANGE);
    Form2.ShowModal;
    SystemParametersInfo(SPI_SETBEEP, 1, nil, SPIF_SENDCHANGE);
  end;
end;

Функция SystemParametersInfo со вторым параметром 0 отключает звук.
Обязательно восстанавливай настройки вызывая функцию с параметром 1, иначе до следующей перезагрузки предупреждающие звуки в винде будут отключены.
Kubanych
новенький
 
Сообщения: 73
Зарегистрирован: 15.10.2008 10:02:18


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20

Рейтинг@Mail.ru