![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ActiveControl [D6, XP]
Andrey K © (2011-09-09 11:54:00)Почему в фрейме на действие
if (ActiveControl<>nil) and (ActiveControl is TEdit) then ....
Компилятор пишет:
[Error] UnUn.pas(3143): Undeclared identifier: 'ActiveControl'
Хотя модуль Forms описан.
Как выйти из положения?
Anatoly Podgoretsky (2011-09-09 15:02:00) [1]> Andrey K (09.09.2011 14:11:12) [12]
Тут есть надо
Andrey K (2011-09-09 14:11:00) [2]
> Ну и назначь всем зайцам один обработчик, в чём проблема-
> то? У тебя же Sender есть.
Точно. Это я чегото притормозил.
Это как про голодного студента. "Может подумать? Чего думать то, прыгать надо."
Ega23 (2011-09-09 13:58:00) [3]
> Конечно моно. Но хотелось одним махом убить всех зайцев.
Ну и назначь всем зайцам один обработчик, в чём проблема-то? У тебя же Sender есть.
Andrey K (2011-09-09 13:50:00) [4]Вот спасибо.
> КейАп/даун у того самого контрола.
Конечно моно. Но хотелось одним махом убить всех зайцев.
Омлет (2011-09-09 13:27:00) [5]Но лучше прислушайся к [7].
Омлет (2011-09-09 13:26:00) [6]> Если можно примерчик, как это можно сделать.
procedure TMyFrame.btn1Click(Sender: TObject);
var
Obj: TWinControl;
begin
Obj := Parent;
while (Obj <> nil) and not (Obj is TCustomForm) do
Obj := Obj.Parent;
if assigned(Obj) and (Obj is TCustomForm) then
ShowMessage(TCustomForm(Obj).ActiveControl.Name);
end;
Медвежонок Пятачок (2011-09-09 13:13:00) [7]КейАп/даун у того самого контрола.
Медвежонок Пятачок (2011-09-09 13:12:00) [8]и по нажатию, предположим F9, надо тупо поменять знак +/-, в активном TEdit.
Ну и за каким этим здесь нужен актив контрол?
Andrey K (2011-09-09 13:10:00) [9]
> Смысл?
На форму положен TPageControl, на страничках выкладываю заготовку (фрейм), с кучей TEdit в которые вводятся только числовые значения и по нажатию, предположим F9, надо тупо поменять знак +/-, в активном TEdit.
> Читать это свойство у формы, на которой фрейм расположен.
Если можно примерчик, как это можно сделать.
Омлет (2011-09-09 12:56:00) [10]> Смысл?
Очевидно, чтобы была возможность проверить условие:
> if (ActiveControl<>nil) and (ActiveControl is TEdit) then ....
Ega23 (2011-09-09 12:27:00) [11]
> Читать это свойство у формы, на которой фрейм расположен.
Смысл?
Омлет (2011-09-09 12:12:00) [12]Свойство ActiveControl реализовано у формы (TCustomForm<-TScrollingWinControl). Фрейм идет мимо (TCustomFrame<-TScrollingWinControl).
> Как выйти из положения?
Читать это свойство у формы, на которой фрейм расположен.
Медвежонок Пятачок (2011-09-09 11:59:00) [13]Потому что у фрейма нету такого идентификатора