我有一个主要用owl-libary编写的应用程序。
在那里,我想从主猫头鹰窗口中打开新的vcl-windows。
这很好用,尽管如果打开对话框窗口(即使使用ShowModal
),并且我将焦点放在另一个应用程序上,则主窗口get会进入前景,但会被其后面的窗口阻塞。
我猜问题出在缺少父母的地方。
但是,我无法将owl的TWindow
转换为vcl的TWinControl
。
是否有技巧将vcl的parent
设置设置为猫头鹰的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时会错过什么吗?
编辑2:
我认为父级是
TDecoratedMDIFrame
(是MDI容器)可能是个问题,因此我的对话框被视为mdi-child而不是普通对话框... 最佳答案
TWinControl
具有用于指定非VCL父窗口的ParentWindow
属性。
另外,在现代VCL版本中,显示VCL对话框时可以指定ParentWnd
。
关于c++ - c + +:owlnext + vcl:新窗口缺少其父级,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25622704/