htmlgenericcontrol мог бы помочь, если необходимо представить определенный тег
Несколько лет назад я написал компонент типа панели задач, который делает именно такие вещи. Это называется TrmMDITaskbar. Вы можете найти его копию на Torrys , это часть пакета библиотеки rmControls. Он обрабатывает активацию, минимизацию, максимизацию и т. Д.
Суть его работы заключается в том, что он перехватывает дескриптор окна MDIParents, ища события MDIChild, и делает что-то на основе этих событий.
Если вы хотите написать свой собственный Я бы посоветовал это как хорошее место для начала.
Райан.
PS Версия на Torrys немного старше, но все равно должна работать. У меня есть более новая версия, доступная на моем сайте поддержки. ( Миллс Энтерпрайз )
Вы всегда можете перехватить события «постфактум» из ваш код во время выполнения. По сути, создайте общий OnActivate, который выглядит примерно так:
type
TEventHolder = class
private
FSFActivate: TNotifyEvent;
published
property SavedFormActivate : TNotifyEvent
read FSFActivate write fSFActivate;
end;
type
TMainForm = class(Tform)
:
SavedEvents : tStringList;
procedure ChildFormActivate(Sender: TObject);
procedure InitChildForm(MdiForm:TForm);
end;
procedure TMainForm.ChildFormActivate(Sender: TObject);
var
i : integer;
begin
// your special processing here this is called for the child form.
i := SavedEvents.IndexOf(ClassName);
if i <> -1 then
tEventHolder(SavedEvents.Objects[i]).SavedFormActivate(Sender);
end;
procedure TMainForm.InitChildForm(MdiForm:TForm);
var
OrigEvents : TEventHolder;
begin
if not Assigned(SavedEvents) then
SavedEvents := tSTringlist.create;
if Assigned(MdiForm.OnActivate) then
begin
OrigEvents := tEventHolder.create;
OrigEvents.SavedFormActivate := MdiForm.OnActivate;
SavedEvents.AddObject(MdiForm.ClassName,OrigEvents);
end;
MdiForm.OnActivate := ChildFormActivate;
end;
Затем вызовите InitChildForm, чтобы установить обработчики событий для ваших общих версий в какой-то момент вашей программы (скорее всего, сразу после создания формы). Конечно, после закрытия основной формы вы захотите освободить SavedEvents (и связанные объекты).