델파이 - 내 앱이 모달 대화 상자가 열려있는 경우 감지
-
26-09-2020 - |
문제
오류 조건이 탐지 될 때 모달 경고 대화 상자를 팝업하는 Delphi 2006 앱이 있습니다.오류 조건 검사가 유휴 핸들러에서 수행되므로 대화 상자가 다른 모달 대화 상자의 맨 위에 올려 놓을 수 있습니다.이는 경고 대화 상자가 다른 모호한 모달 대화 상자가 있기 때문에 응용 프로그램 기본 양식이 초점을 맞추지 않는 사용자가 혼란스러운 상황을 초래할 수 있습니다.
내가하고 싶은 것은 앱에 모달 대화 상자가 열려있는 동안 경고 팝업을 연기하는 것입니다.
나는 getLastactivePopup (mymainwindow.handle)을 시도했지만 항상 0이 아닌 것처럼 보입니다.
해결책
다른 팁
그냥 테스트
if not IsWindowEnabled(MyMainWindow.Handle) then
.
이것은 비 델파이 대화 상자가 windows.MessageBox(Handle...
와 같이 모달 작동하는 경우 상황을 처리합니다.또는 공통 대화 (즉, topendialog)를 보이고있다.
anypopup () 함수
소개 getLastactivePopup ().반환 값은
에있을 때 hwnd 매개 변수와 동일 할 수 있습니다.- HWND로 식별 된 창은 가장 최근에 활성이었습니다.
- hwnd로 식별 된 창은 팝업 창을 소유하지 않습니다.
- 창은 HWND가 최상위 창이 아니거나 다른 창에서 소유하는 것이 아닙니다.
제휴하지 않습니다 StackOverflow