form2 это MDIChild. В нем создается обычная форма form3.
Код:
1 2 3 4 5 6 7 8 | procedure TForm1 . Button1Click(Sender: TObject);
begin
form2:=Tform2 . Create(application);
form3:=Tform3 . Create(application);
form3 . Show;
Windows . SetParent(form3 . Handle, form2 . Handle);
end ;
|
[Big]Как избежать следующих проблем?[/Big]
ВАРИАНТ 1
Если делать первым вариантом, то когда активна вложеная форма 3,то форма 2 и форма приложения не активны. А если до снятия фокуса с приложения была активна вложеная форма 3, и окно приложения спряталось за окна других приложений, то вывести его на первый план не удается, так как оно какбы так и остается неактивным.И когда активна дочерняя форма 2, то соответственно форма 3 не активна получается и на ней не работают хоткеи (Таб например) и контролы без фокуса.
ВАРИАНТ 2
Все работает с активностью форм нормально, но контролы не получают фокус на вложеной форме 3 и не работаю хот кеи