![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Переход по элементам формы по ENTER [D5, NT4]
Скалли © (2002-02-08 13:27:00)В одной программе пользовалась такой процедурой:
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 все переходило и переходит без проблем. Как только вставляю то же самое в другую программу - не работает.
Может, кто подскажет в чем дело? Умаялась уже совсем :-(
BillyJeans (2002-02-13 15:33:00) [1]Удалено модератором
Скалли (2002-02-08 14:06:00) [2]2 wicked. Точно, вот голова садовая :-). Все работает, и твоя процедурка (которая у меня на OnKeyUp и стояла), и моя :-) Спасибо огромное!
wicked (2002-02-08 13:59:00) [3]2 Скалли ©
тогда посмотри, есть ли на форме кнопка, у которой Default = true и что у неё в обработчике события OnClick.... скорей всего она перехватывает твой enter и закрывает форму....
да, а мою процедурку надо ставить на OnKeyUp...
Скалли (2002-02-08 13:55:00) [4]Люди! У меня по Enter форма просто закрывается.
2 Юрий Зотов. TForm.KeyPreview действительно было False, исправила. Но никакой реакции.
2 wicked. На твою процедуру моя прога тоже не обращает никакого внимания :-(
wicked (2002-02-08 13:38:00) [5]честно говоря, ничего не понял.... но у меня железно работает такой код:
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:37:00) [6]Возможно, не выставлено свойство TForm.KeyPreview?