Пытаюсь создать поиск в TMemo как во всех текстовых редакторах. Т.е. при нажатии Ctrl+F должно открываться окно диалога поиска. При открытии этого окна издается звук Windows. Это раздражает. Как отключить этот звук?
Для нажатия клавиши Enter, например в TEDit знаю.
Key:= #0;
в обработчике OnKeyPress, но для моего случая необходимо использовать OnKeyDown, а там параметр Key типа Word.
Key:= 0;
не работает.
Отключить звук при открытии модального окна сочетание
Модератор: Модераторы
-
Александр Яшин
- новенький
- Сообщения: 67
- Зарегистрирован: 21.11.2009 08:31:01
-
Александр Яшин
- новенький
- Сообщения: 67
- Зарегистрирован: 21.11.2009 08:31:01
Неужели никто не знает?
Эй, знатоки, отзовитесь!
Эй, знатоки, отзовитесь!
Попробуй так:
Функция SystemParametersInfo со вторым параметром 0 отключает звук.
Обязательно восстанавливай настройки вызывая функцию с параметром 1, иначе до следующей перезагрузки предупреждающие звуки в винде будут отключены.
Код: Выделить всё
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, иначе до следующей перезагрузки предупреждающие звуки в винде будут отключены.
