Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];




Вниз

Переход по элементам формы по ENTER 


Скалли   (2002-02-08 13:27) [0]

В одной программе пользовалась такой процедурой:

procedure Te_Oper.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
ACtrl: TWinControl;
begin
if key = 13 then
begin
ACtrl := ActiveControl;
if ACtrl is TCustomMemo then exit;
repeat
ACtrl:= FindNextControl(ACtrl,true,true,false);
until (ACtrl is TCustomEdit) or
(ACtrl is TCustomComboBox) or
(ACtrl is TCustomListBox) or
(ACtrl is TCustomCheckBox) or
(ACtrl is TRadioButton);

ACtrl.SetFocus ;
end;
end;

Все отлично работало, по ENTER все переходило и переходит без проблем. Как только вставляю то же самое в другую программу - не работает.
Может, кто подскажет в чем дело? Умаялась уже совсем :-(



Юрий Зотов   (2002-02-08 13:37) [1]

Возможно, не выставлено свойство TForm.KeyPreview?



wicked   (2002-02-08 13:38) [2]

честно говоря, ничего не понял.... но у меня железно работает такой код:

procedure TForm.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
VK_RETURN: Perform(WM_NEXTDLGCTL, 0, 0);
end;
end;


обрати внимание на обработчик - FormKeyUp... это для того, чтобы при залипании enter"а фокус не гонял по форме.... :)



Скалли   (2002-02-08 13:55) [3]

Люди! У меня по Enter форма просто закрывается.

2 Юрий Зотов. TForm.KeyPreview действительно было False, исправила. Но никакой реакции.

2 wicked. На твою процедуру моя прога тоже не обращает никакого внимания :-(



wicked   (2002-02-08 13:59) [4]

2 Скалли ©
тогда посмотри, есть ли на форме кнопка, у которой Default = true и что у неё в обработчике события OnClick.... скорей всего она перехватывает твой enter и закрывает форму....
да, а мою процедурку надо ставить на OnKeyUp...



Скалли   (2002-02-08 14:06) [5]

2 wicked. Точно, вот голова садовая :-). Все работает, и твоя процедурка (которая у меня на OnKeyUp и стояла), и моя :-) Спасибо огромное!



BillyJeans   (2002-02-13 15:33) [6]

Удалено модератором




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.02 c
4-9324            saviola               2002-01-04 10:26  2002.03.04  
Помогите найти функцию ...


1-9238            greenrul              2002-02-14 19:34  2002.03.04  
Какая О.С. - идеальная для Delphi5 , если комп не особо мощен


3-9065            fag2000@ok.ru         2002-02-06 15:18  2002.03.04  
как узнать что запись новая


6-9259            Yuri Btr              2001-12-18 10:36  2002.03.04  
Тест порта


7-9306            Leviathan             2001-11-29 15:16  2002.03.04  
Нажимаем виртуально на кнопку :))