0

我有一个主要用 owl-libary 编写的应用程序。

在那里,我想从主 owl-windows 中打开新的 vcl-windows。
这很好用,但如果打开一个对话框窗口(即使使用ShowModal)并且我关注另一个应用程序,那么主窗口会进入前台但被它后面的窗口挡住。

我想问题是缺少父设置。

但是,我无法将 owl's 转换TWindow为 vcl's TWinControl

将 vcl 的parent设置设置为 owl 的TWindow-Object 是否有技巧?或者这可能是由完全不同的东西引起的?

编辑:我正在使用...

void(TWindow* parent){
    Form=new TForm((HWND)parent->Handle);
    Form->ParentWindow=parent->Handle;
    Form->BorderIcons >> biMinimize >> biMaximize << biSystemMenu; //No minimize, no maximize, but close
    Form->BorderStyle = bsSingle;
    Form->Position = poMainFormCenter;
    ...
    Form->ShowModal();

...现在。但是,新窗口被锁定,无法单击/关闭/切换到。使用 ParentWindow 有什么我错过的吗?

EDIT2:我认为父级是TDecoratedMDIFrame一个 MDI-Container 可能是一个问题,因此我的对话框被视为 mdi-child 而不是普通对话框...

4

1 回答 1

1

TWinControl具有ParentWindow用于指定非 VCL 父窗口的属性。

此外,在现代 VCL 版本中,您可以ParentWnd在显示 VCL 对话框时指定 a。

于 2014-09-03T00:00:14.833 回答