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

Вниз

Beep при выходе из DBEdit   Найти похожие ветки 

 
Жук ©   (2003-05-22 08:38) [0]

Есть процедура :
procedure TFPrinc1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
// ПЕРЕНАПРАВЛЕНИЕ ENTER -> TAB
if Key=13 then begin
if ActiveControl is TDBLookupComboBox
then begin
if not TDBLookupComboBox(ActiveControl).ListVisible
then begin
Key := 0;
FindNextControl(ActiveControl, true, true, false).SetFocus;
end;
end
else begin
Key := 0;
FindNextControl(ActiveControl, true, true, false).SetFocus;
end;
end;
// Раскрываем список combobox
if (Key=32) and (ActiveControl is TDBLookupComboBox) and (not TDBLookupComboBox(ActiveControl).ListVisible)
then TDBLookupComboBox(ActiveControl).DropDown;
end;

Если ActiveControl is TDBEdit, то машина издаёт Beep, как избавится от этого звука ?


 
Lord Warlock ©   (2003-05-22 08:50) [1]

По моему нужно убрать

else begin
Key := 0;
FindNextControl(ActiveControl, true, true, false).SetFocus;
end;

пусть Тав сам выполняет свою функцию


 
Жук ©   (2003-05-22 08:54) [2]

Смысл процедуры в переходе между компонентами именно по Enter"y


 
Lord Warlock ©   (2003-05-22 09:10) [3]

Извини, смоделировать ситуацию не могу, мой комп не пищит.
Единственное - попробуй Key:=VK_OEM_CLEAR;


 
Danilka ©   (2003-05-22 09:10) [4]

а вот-так не работает?

if Key=VK_ENTER then key:=VK_TAB;


 
Danilka ©   (2003-05-22 09:11) [5]

вернее VK_RETURN


 
Жук ©   (2003-05-22 09:20) [6]

Key:=VK_OEM_CLEAR - не помог
Key:=VK_RETURN - тоже


 
Жук ©   (2003-05-22 09:34) [7]

Главное, что пищит на end"е, закрывающем процедуру.


 
Соловьев ©   (2003-05-22 09:42) [8]


> Жук © (22.05.03 09:34)

писк - это настройки ОС и биоса ПК. А для перехода по Enter я использую констуркцию:


procedure TfMain.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (Key = #13) then
begin
Key:=#0;
Perform(WM_NEXTDLGCTL,0,0);
end;
end;

fMain.KeyPreview = true;


 
Жук ©   (2003-05-22 10:04) [9]


> Соловьев © (22.05.03 09:42)
>
> писк - это настройки ОС и биоса ПК.

Может, тогда код не трогать, а что-то в них поменять ?

Perform(WM_NEXTDLGCTL,0,0) - не помог.


 
Johnmen ©   (2003-05-22 10:48) [10]

>Жук ©

Обращаю внимание, что у Соловьев © (22.05.03 09:42) обработчик на KeyPress. :) Это существенно...


 
Соловьев ©   (2003-05-22 10:54) [11]


> Может, тогда код не трогать, а что-то в них поменять ?

у меня win2k - тоже писк, это появилось после сброса биоса, настроить нет времени, надо по форумам полазить... Если у тебя получиться напиши. А код не трогай - смысл?


> Perform(WM_NEXTDLGCTL,0,0) - не помог.

что хоть произошло?
Про fMain.KeyPreview = true - не забыл?



 
Жук ©   (2003-05-22 11:23) [12]

2 Johnmen ©
Вы как всегда зрите в корень ! Действительно на KeyPress"e не бибикает.

2 Соловьев
Спасибо !

Однако хотелось бы понять, где собака порылась. :-)



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

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

Наверх




Память: 0.49 MB
Время: 0.02 c
1-2921
Андрей
2003-05-23 09:11
2003.06.02
Как избежать такой ошибки? Abstract Error


11-2835
Jazzy$
2002-09-05 20:15
2003.06.02
Как раскрасить ListView?


7-3196
Volodymyr
2003-03-31 20:02
2003.06.02
COM-порты...


14-3143
Дремучий
2003-05-15 10:39
2003.06.02
Мастаки и приколы яндекса :))


14-3084
Шоломицкий
2003-05-14 20:38
2003.06.02
Владельцам домашних страничек...