Re: Отловить завершение создания формы.
От: snusmumrick  
Дата: 03.07.08 13:50
Оценка:
Здравствуйте, Alex.Che, Вы писали:

AC>Несколько заумная задача, но мож кто сталкивался...

AC>Требуется "внутри" некоторого компонента поймать момент,
AC>когда у его формы-владельца уже отработали "загрузчики-конструкторы"
AC>и методы OnCreate (буде таковые имеются), но до того,
AC>как вызван метод Show (этой формы).

Если компонент оконный, можно при создании посылать ему сообщение.
Примерно так:


const

    WM_AFTER_CREATION = WM_USER+01;

type

    TMyComponent = class(TWinControl)
    private
        procedure WmAfterCreation(var Msg : TMessage); message WM_AFTER_CREATION;
    public
        procedure AfterConstruction; override;
    end;

//...

procedure TMyComponent.AfterConstruction;
begin
    inherited;
    PostMessage(Handle, WM_AFTER_CREATION, 0, 0);
end;

procedure TMyComponent.WmAfterCreation(var Msg: TMessage);
begin
// все формы созданы, но ни одна еще не показана
end;


Должно работать, но не уверен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.