У меня есть приложение, в основном написанное с совой.C++: owlnext + vcl: New Window missing its Parent
Там я хочу открыть новые vcl-окна из главного сова-окна.
Это отлично работает, хотя если открывается диалоговое окно (даже с ShowModal
), и я фокусирую другое приложение, то основное окно попадает на передний план, но блокируется окном за ним.
Я предполагаю, что проблема - отсутствие установки родительского элемента.
Тем не менее, я не могу преобразовать owl's TWindow
в vcl's TWinControl
.
Есть ли уловка, чтобы установить parent
vcl в настройку owl's TWindow
-Object? Или это может быть вызвано чем-то совершенно другим?
EDIT: Я использую ...
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, поэтому диалог моего рассматривается как МДИ ребенок вместо нормального диалога ...
Обязательно прочтите описания тэгов wiki. Этот вопрос был помечен тегом [tag: owl], но это не касается OWL, языка веб-онтологии. Я удалил тег. –
@JoshuaTaylor: OWL (Библиотека окон объектов) является предшественником VCL и продолжается как [проект с открытым исходным кодом] (http://owlnext.sourceforge.net). Вероятно, для него создан новый тег. –
Да, я видел некоторые вопросы об этом раньше. Просто это [tag: owl] для чего-то другого. –