Главная страница
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.049 c
1-1149059340
.ruslan
2006-05-31 11:09
2006.07.16
ListView и строки разных цветов, чередование


2-1151397808
learner
2006-06-27 12:43
2006.07.16
Как можно прервать ожидание функции ConnectNamedPipe ?


3-1147790931
Popoilyk
2006-05-16 18:48
2006.07.16
Импорт данных в DBGrid


15-1150388909
Alx2
2006-06-15 20:28
2006.07.16
Задачка про вентилятор


2-1151683104
resuS
2006-06-30 19:58
2006.07.16
консоль и TStrings;