c ++: owlnext + vcl: в новом окне отсутствует родительский элемент

У меня есть приложение, написанное в основном с совой-библиотекой.

Там я хочу открыть новые vcl-окна из основного окна owl.
Это прекрасно работает, хотя, если диалоговое окно открыто (даже с ShowModal), и я фокусирую другое приложение, затем главное окно переносится на передний план, но блокируется окном позади него.

Я предполагаю, что проблема заключается в отсутствии родительской установки.

Тем не менее, я не могу конвертировать совы TWindow к Vcl’s TWinControl,

Есть ли хитрость, чтобы установить Vcl parent садясь на сову TWindow-Объект?
Или это может быть вызвано чем-то совершенно другим?

РЕДАКТИРОВАТЬ:
Я использую…

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-контейнером, поэтому мой диалог обрабатывается как mdi-child вместо обычного диалога …

0

Решение

TWinControl имеет ParentWindow свойство для указания родительского окна без VCL.

Кроме того, в современных версиях VCL вы можете указать ParentWnd при отображении диалога VCL.

1

Другие решения


По вопросам рекламы [email protected]