Форум: "Основная";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c