문제

이 모 MFC 대화상자는 포함하는 Internet Explorer 웹 브라우저를 제어합니다.

컨트롤은 파생에서 바로 CWnd ActiveX 래퍼 Visual Studio 에 의해,그리고 나도 그 CDialogDDX_Control(pDX, IDC_EXPLORER, m_explorer);.

저는 2 개의 문제입니다.

문제#1:

되는 모달리스,나는 시작 및 중지하고 대화에 자신의 기쁨을 사용하여 새로운/Create(),다음 DestroyWindow()/삭제(에 PostNcDestroy).

문제가 생기면 즉 제어 시작을 로드 플래시 동영상(일반 YouTube 물건):을 때 한 닫히고,따라서 파괴하는 대화,비디오는 여전히 부!오른쪽까지 완전히 캐시됩니다.플래시 ActiveX 스레드가 여전히 남아있으며 계속 실행하는 경우에도 부모 대화가 통과 PostNcDestroy 고 모든 메모리 해제됩니다.

무엇을 할까?당신은 어떻게 싸움'죽이는 아이 web 통제 및 모든 스레드가?

문제#2:

웹 브라우저를 제어 커버의 전체 영역을 대화상자가 나타납니다.할 수 없습 차단 OnMouseMove() -부모 대화 또는 웹 브라우저에서 매핑 클래스!어떤 장점이 있나요?

감사합니다!


"정리"

"삭제"에서 PostNcDestroy()를 호출하는 기본 func 물론입니다.야에 더 많은?무엇인가?지 않 대화 정상적으로의 관심을 가지고 아이들은?

나를 명시적으로 호출 DestroyWindow 웹에서 제어나 보내/글 그에게 메시지를 다음과 같은 wm_destroy,WM_CLOSE 도 WM_QUIT-지만 아무것도 동일한다.

문제#2:

No,다음과 같 들여쓰기 제어 모든 공간이고 그 위에 그래서 난 모든 마우스 동작하지 않을 얻을 전송한'벨':)?하지만 그때는 왜 자신의 OnMouseMove 라?기 때문에 그것은 바로 CWnd?길을 잃었어요...

도움이 되었습니까?

해결책

문제는 1)myBrowser.탐색("about:blank")하기 전에 파괴하는 창입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top