cppcoder1 Ответов: 0

Диалогового окна MFC модальное минимизации, когда я называю его от других компонентов Java


Привет,

Я вызываю модальный диалог из java-приложения. Но если я щелкну по нему, диалог сведется к минимуму, чего я не хочу, потому что это модальное диалоговое окно. Я попытался дать свойство WS_EX_TOPMOST, но оно всегда показывает диалог сверху, даже если я переключаюсь на другие приложения.

У меня есть два сценария, в которых я должен запустить свой диалог

1. из приложения MFC, которое работает нормально.
2. из Java-приложения, которое не работает как модальный диалог.


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

Спасибо.

Что я уже пробовал:

MysampleModalDailogObj->CreateModal(WS_EX_CONTROLPARENT, sl,
					WS_OVERLAPPED|WS_SYSMENU|WS_CAPTION|WS_BORDER|WS_POPUP|WS_THICKFRAME, 
					0,0,tempcx, tempcy, NULL, 0)
rtn = MysampleModalDailogObj->DoModal();
if(rtn == IDOK)
{}
else
{}

Jochen Arndt

Как вызвать диалог MFC из Java-приложения?
Выполняете ли вы приложение MFC из своего Java-приложения?

Оконная модальность относится только к окнам в рамках одного процесса. Если вы запускаете другой процесс из приложения,то нет никакого способа сделать этот процесс модальным для вызывающего. Вы можете только установить дочерний процесс, чтобы он всегда был сверху.

cppcoder1

К сожалению, у меня нет кодовой базы для другого приложения. Так что я понятия не имею, как они звонят, но звонят. Я пробовал использовать style WS_EX_TOPMOST и SetWindowPos(&this-> wndTop, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); чтобы мой диалог всегда был сверху. Но WS_EX_TOPMOST делает мой диалог всегда сверху, даже если я переключаюсь на другое приложение. Второй не работает.

0 Ответов