QA: CDHtmlDialog 에서 OnBeforeNavigate2 를 사용하는 법
등록자 : cpueblo (유광희), 2008-11-21
Q. CDHtmlDialog 에서 OnBeforeNavigate2 를 사용하는 법?
HTML 브라우징시 Cancel 을 위해서 BeforeNavigate2 를 사용하고 싶습니다
A. 해당 Dialog Class 에 추가하세요
헤더에 아래처럼 선언하세요. Your Dlg.h
protected:
DECLARE_EVENTSINK_MAP()
void OnMyBeforeNavigate2(LPDISPATCH pDisp, VARIANT FAR* URL, VARIANT FAR* Flags, VARIANT FAR* TargetFrameName, VARIANT FAR* PostData, VARIANT FAR* Headers, BOOL FAR* Cancel);
Cpp 에 아래처럼 선언하세요. Your Dlg.cpp
BEGIN_EVENTSINK_MAP(CYourDlg, CDHtmlDialog)
ON_EVENT(CYourDlg, AFX_IDC_BROWSER, 250 /* BeforeNavigate2 */, OnMyBeforeNavigate2, VTS_DISPATCH VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PBOOL)
END_EVENTSINK_MAP()
void CYourDlg :: OnMyBeforeNavigate2(LPDISPATCH pDisp, VARIANT FAR* URL, VARIANT FAR* Flags, VARIANT FAR* TargetFrameName, VARIANT FAR* PostData, VARIANT FAR* Headers, BOOL FAR* Cancel)
{
CString szUrl(V_BSTR(URL));
OnBeforeNavigate(pDisp, szUrl);
}
http://codesarang.com. mail to cpueblo cpueblo.com
|