Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.16;
Скачать: CL | DM;

Вниз

Ещё раз про фреймы   Найти похожие ветки 

 
Ega23 ©   (2006-06-30 09:50) [0]

Требуется у фрейма реализовать аналог TForm.OnCreate, OnDestroy и OnActivate и что-то типа OnDeactivate
Пока что из всех мыслев есть только переопределить у моего фрейма AfterConstruction, BeforeDestruction и SetParent.
Другие варианты есть?


 
Vlad ©   (2006-06-30 10:32) [1]

Переопределяешь конструктор с деструктором в своем фрейме,
делаешь published property OnCreate, OnDestroy типа TNotifyEvent, и вызываешь их оттуда


 
Desdechado ©   (2006-06-30 10:39) [2]

А как ты себе представляешь OnActivate и OnDeactivate у фрейма, который может быть кусочком формы? Как получение и потерю фокуса контролами фрейма?


 
Ega23 ©   (2006-06-30 10:54) [3]


> А как ты себе представляешь OnActivate и OnDeactivate у
> фрейма, который может быть кусочком формы? Как получение
> и потерю фокуса контролами фрейма?
>


Когда я ему Parent назначаю.
В общем, у меня есть десяток разных фреймов, в один момент времени показывается только один. Вот мне и нужно отследить, фактически какой фрейм сейчас активный. Плюс на момент активации фрейма он должен выполнить некоторые действия.
Я предпологал процедуру SetParent для этих целей переопределить.


 
Ega23 ©   (2006-06-30 10:56) [4]


> Переопределяешь конструктор с деструктором в своем фрейме,
>
> делаешь published property OnCreate, OnDestroy типа TNotifyEvent,
>  и вызываешь их оттуда
>


Логично. Тогда уж просто Constructor переопределить c деструктором...


 
Vlad ©   (2006-06-30 11:32) [5]


> Ega23 ©   (30.06.06 10:54) [3]


> Вот мне и нужно отследить, фактически какой фрейм сейчас
> активный.

Дык есть же свойство showing у фрейма..


 
Ega23 ©   (2006-06-30 11:40) [6]


> Дык есть же свойство showing у фрейма..


Мне событие надо.
Ну ладно, это я уже сделал, спаибо.


 
Vlad ©   (2006-06-30 12:03) [7]


> Ega23 ©   (30.06.06 11:40) [6]
>
> > Дык есть же свойство showing у фрейма..
>
>
> Мне событие надо.


у фрейма:
....
 private
   procedure CMShowingChanged(var Message: TMessage); message CM_SHOWINGCHANGED;

..........

procedure TFrame1.CMShowingChanged(var Message: TMessage);
begin
 inherited;
.... // тут делаешь чего хочешь :-)
end;



Страницы: 1 вся ветка

Текущий архив: 2006.07.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
15-1150417876
tButton
2006-06-16 04:31
2006.07.16
eng->rus


6-1141982670
vlv
2006-03-10 12:24
2006.07.16
Связь WebModule с TServerSocket


1-1149022059
MZUser
2006-05-31 00:47
2006.07.16
Загрузка DLL напрямую


15-1150434472
pavel_guzhanov
2006-06-16 09:07
2006.07.16
непонятная проблема с компом... наконец решил спросить


15-1150350168
beta
2006-06-15 09:42
2006.07.16
Карманная цифровая фотокамера