Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.012 c
14-3071
Sizam
2003-04-07 23:53
2003.06.02
Игра Uplink (где скачать)


3-2782
Карелин Артем
2003-05-13 10:09
2003.06.02
Like и индекс.


3-2752
АТ
2003-05-07 04:38
2003.06.02
Помогите подключиться к Exel через ADO


1-2902
serikoff
2003-05-22 19:18
2003.06.02
tListView, auto scroll


1-2844
demonyator
2003-05-17 20:01
2003.06.02
Прозрачность в String Grid




   Наверх