Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Потому что у фрейма нету такого идентификатора


Наверх

Титульная страница Поиск, карта сайта Написать письмо