Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.17;
Скачать: CL | DM;

Вниз

OnKeyPress и PC-Speaker   Найти похожие ветки 

 
Alex-21   (2003-06-12 12:30) [0]

Когда нажимаю на клавиши (событие OnKeyPress), исходит звук через PC-Speaker. Это как правило происходит, если не установлен драйвер для звуковой карты. Как отключить beep через PC-Speaker?


 
Anatoly Podgoretsky ©   (2003-06-12 12:49) [1]

На плате есть разъем для этого.


 
DVM ©   (2003-06-12 12:54) [2]

Для XP/2000 есть вот такое:

Отключение системного динамика - Если вы хотите отключить системный динамик, откройте оснастку "Диспетчер устройств" (пуск - выполнить - devmgmt.msc), в меню вид выберите пункт "Показывать скрытые устройства", в дереве консоли перейдите на "Драйверы устройств не Plug and Play", далее дважды щелкните "Beep". На вкладке "Общие" в пункте "Применение устройства" выберите "Это устройство не используется (отключено)".

Настройки хранятся, я думаю, в реестре. Включить/отключить - посмотреть, что в реестре изменилось.


 
Song ©   (2003-06-12 13:10) [3]

SystemParametersInfo()


 
Alex-21   (2003-06-19 20:17) [4]

Да, но куда помещать SystemParametersInfo() в коде? Мне нужно отключить системный динамик перед тем, как произойдет событие OnKeyPress и потом снова включить динамик после события OnKeyPress.


 
777 ©   (2003-06-19 20:28) [5]

А так?
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if ... then
begin
key:=#0;
..................
end;
end;


 
Алексадр Спелицин   (2003-06-20 00:35) [6]

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if ... then
begin
PeekMessage (TWinControl(Sender).Handle, Msg, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE);
...
end;
end;


 
Alex-21   (2003-06-26 15:02) [7]


> 777 © (19.06.03 20:28)
> ...
> key:=#0;
> ...

При нажатии кнопок с буквами не происходит пикание, а при нажатии Enter"а и Back"а происходит пикание. Почему?


> Алексадр Спелицин (20.06.03 00:35)
> ...
> PeekMessage (Msg, TWinControl(Sender).Handle, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE);
> ...

Здесь глюки происходят: пишу "привет кги" и после этого словосочетания ставлю пробел, в итоге словосочетание становится таким: "привет кrub " (стоит у меня Punto Switcher). А ведь должно быть просто: "привет rub ". Здесь дело в PeekMessage(). Как исправить эту проблему?


 
Alex-21   (2003-06-28 13:24) [8]

Никто не подскажет, в чём дело?


 
Alex-21   (2003-06-29 14:45) [9]

Значит никто не знает?


 
Алексадр Спелицин   (2003-06-29 15:33) [10]


> При нажатии кнопок с буквами не происходит пикание, а при
> нажатии Enter"а и Back"а происходит пикание. Почему?

Потому, что обработка нажатий на Enter & Back происходит сообщением WM_KEYDOWN. Поместите мой код в обработчик OnKeyDown (для Enter, Back, ...). А вот буковки можно обрабатывать в OnKeyPress.


 
Alex-21   (2003-07-02 17:51) [11]


> Потому, что обработка нажатий на Enter & Back происходит
> сообщением WM_KEYDOWN. Поместите мой код в обработчик OnKeyDown

Тут не работает почему-то. Все равно пикает.


 
Alex-21   (2003-07-04 14:38) [12]

Мастера помогите плиз. Как обойти этот пик при нажатии на Ентер и т.д.?



Страницы: 1 вся ветка

Текущий архив: 2003.07.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
14-55727
Fredericco
2003-07-02 14:08
2003.07.17
1 Gbit Ethernet.


14-55722
r0n1n
2003-06-30 00:15
2003.07.17
Чат


1-55555
AndrewVolkov
2003-07-06 22:20
2003.07.17
Popupmenu в runtime


1-55593
Urvin
2003-07-02 17:26
2003.07.17
Покраска Кнопок


14-55750
k-man
2003-07-02 21:40
2003.07.17
Стихи