더 복잡한 방법도 있지만.. .단지 window.close()가 호출되는 것만 감지하면 된다면 다음과 같이 해보세요.
Application.OnMessage 이벤트 핸들러를 만드시고요.
(직접 코드로 해도 되고, 아니면 TApplicationEvents 컴포넌트를 만들어서 해도 되고...)
그리고 이벤트 핸들러에서 다음과 같이 코딩하세요.
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin
if Msg.message=WM_CLOSE then
ShowMessage('111');
end;
결론적으로 한마디로 말하자면, 웹브라우저 컨트롤이 불러들인 html 문서에서 window.close()가 호출되면 애플리케이션에
WM_CLOSE 메시지가 전달됩니다. 그걸 받아서 폼을 닫든지 하는 동작을 할 수 있지요.
그럼...
정중동 님이 쓰신 글 :
: 폼에서 새로운 폼을 띄워 안에 브라우저개체를 넣고 특정페이지를 호출합니다.
:
: 근데, 그 브라우저 페이지에서 창을 닫는 걸 폼에서 알수 있는 방법이 있을까요?
:
: 브라우저에서 window.close를 호출하면, 브라우저는 없어지는데 폼은 그대로 남아있네요..
:
: 좋은 방법 있으면 소개좀 부탁드립니다.
:
: 그럼..수고하세요..
|