Вниз
Скачать: CL | DM;

Как убрать звук от нажатия Alt+<буква>?   Найти похожие ветки 

← →
Alextp ©   (2006-02-14 23:47) [0]

На форме есть MainMenu, для некоторых пунктов в нем заданы через подчеркивание hotkeys, например, "&Fille" (hotkey будет Alt+F). Проблема в том, что при нажатии на Alt+буква, если такого хоткея нет (например, Alt+W), Windows выдает звук, MessageBeep. Как избавиться от этого звука? Анноит.

Посмотрел в исходниках VCL, где это может быть, ничего не нашел...


← →
Leonid Troyanovsky ©   (2006-02-15 08:53) [1]


> Alextp ©   (14.02.06 23:47)  

> Посмотрел в исходниках VCL, где это может быть, ничего не нашел...


Дык, это надо смотреть в исходниках windows.

--
Regards, LVT.


← →
Alextp ©   (2006-02-15 12:25) [2]


> Дык, это надо смотреть в исходниках windows.

Нет, это явно где-то в VCL, в некоторых программах написанных на Delphi, этого звука нет.


← →
Leonid Troyanovsky ©   (2006-02-15 19:41) [3]


> Alextp ©   (15.02.06 12:25) [2]

> Нет, это явно где-то в VCL, в некоторых программах написанных
> на Delphi, этого звука нет.


Дельфи здесь ни причем.
Звук получается при обработке WM_MENUCHAR,
когда в high-order word of the return value возвращается 0.

--
Regards, LVT.


← →
Anatoly Podgoretsky ©   (2006-02-15 20:14) [4]

Правильно делает, она тебе сигналит не нажимай эту букву.


← →
Alextp ©   (2006-02-16 09:48) [5]


> Дельфи здесь ни причем. Звук получается при обработке
> WM_MENUCHAR, когда в high-order word of the return
> value возвращается 0.

Почти ясно. Теперь надо понять, как от этого звука избавиться...

Проблема в чем: мне лично не мешает сам звук, но у меня по нажатию Alt+буква появляется формочка быстрого поиска, как в NC. И сейчас она появляется в сопровождении этого звука. :) Т.е. у меня нажатие Alt+буква зарезервировано под мой шорткат - как бы убрать стандартную отработку, с этим звуком?


> Правильно делает, она тебе сигналит не нажимай эту букву.

См. выше, в моей программе нажимать можно.


← →
Leonid Troyanovsky ©   (2006-02-16 10:07) [6]


> Alextp ©   (16.02.06 09:48) [5]

> звука. :) Т.е. у меня нажатие Alt+буква зарезервировано
> под мой шорткат - как бы убрать стандартную отработку, с
> этим звуком?


Видимо, как-то так (без всяких шорткатов):

procedure TForm1.WMMenuChar(var msg: TWMMenuChar); // message WM_MENUCHAR;
var
 s : String;
begin
 s:= InputBox("Find", "match", msg.User);
 {Поиск}
 msg.Result := MakeLResult(0, 1);
end;


--
Regards, LVT.


← →
Alextp ©   (2006-02-16 12:33) [7]


> Видимо, как-то так (без всяких шорткатов):

Спасибо, помогло.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
15-1140883320
Игорёк
2006-02-25 19:02
2006.03.19
Delphi 2006


6-1133557334
Саныч
2005-12-03 00:02
2006.03.19
IdFTP через proxy


2-1141315861
TStas
2006-03-02 19:11
2006.03.19
А как из нормальной кодировки сделать ОЕМ?


2-1141193058
stela
2006-03-01 09:04
2006.03.19
текстовые файлы


15-1140544531
DSKalugin
2006-02-21 20:55
2006.03.19
По аське прислали :-)) оферисты




   Наверх