Главная страница
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.029 c
1-2928
Hill
2003-05-20 17:52
2003.06.02
TRichEdit и как разобрать текст по оформлению


1-2843
Vladimir1
2003-05-21 09:14
2003.06.02
Программная задержка


3-2741
Patrick
2003-05-12 18:50
2003.06.02
Cannot transliterate character between character sets.


1-2842
Xeon
2003-05-21 23:08
2003.06.02
Реестр


4-3225
Igor
2003-04-03 09:58
2003.06.02
Перехват процесса.