to show in a new dialog void CMyDlg::OnNewWindow2(LPDISPATCH FAR* ppDisp, BOOL FAR* Cancel) { m_dlgNewWB = new CMyDlg; m_dlgNewWB->Create(IDD_MYDLG_DIALOG);
*ppDisp = m_dlgNewWB->m_webBrowser.GetApplication(); } to show in a new frame void CYourView::OnNewWindow2(LPDISPATCH FAR* ppDisp, BOOL FAR* Cancel) { // Get a pointer to the application object CWinApp* pApp = AfxGetApp(); // Get the correct document template CDocTemplate* pDocTemplate; POSITION pos = pApp->GetFirstDocTemplatePosition(); pDocTemplate = pApp->GetNextDocTemplate(pos); ASSERT(pDocTemplate); // Create the new frame CFrameWnd* pNewFrame = pDocTemplate->CreateNewFrame(GetDocument(), (CFrameWnd*)AfxGetMainWnd()); ASSERT(pNewFrame); // Activate the frame and set its active view pDocTemplate->InitialUpdateFrame(pNewFrame, NULL); CYourView* pWBVw = (CYourView*)pNewFrame->GetActiveView(); ASSERT(pWBVw); pWBVw->m_webBrowser.SetRegisterAsBrowser(TRUE); *ppDisp = pWBVw->m_webBrowser.GetApplication(); } to show in the same windowvoid CYourView::OnNewWindow2(LPDISPATCH FAR* ppDisp, BOOL FAR* Cancel) { //Get m_strLastUrl in the handler funtion of BeforeNavigate2 event *Cancel=TRUE; Navigate(m_strLastUrl); }
_variant_t var=_bstr_t("c:\\winnt");
VARIANT * pvar=&var;
我想不打开新窗口该怎么办呢,现在每次显示c:\winnt下的内容,
可我点击它时,它就新开一个窗口来显示,而我只想在原来的窗口显示.
以前听说是第三个参数用_SELF,可不知道怎么用,我加上去没有反应,
仍然是新开窗口,有些不明白了,楼上的高手请指点一下吧
void CMyDlg::OnNewWindow2(LPDISPATCH FAR* ppDisp,
BOOL FAR* Cancel)
{
m_dlgNewWB = new CMyDlg;
m_dlgNewWB->Create(IDD_MYDLG_DIALOG);
*ppDisp = m_dlgNewWB->m_webBrowser.GetApplication();
}
to show in a new frame
void CYourView::OnNewWindow2(LPDISPATCH FAR* ppDisp,
BOOL FAR* Cancel)
{
// Get a pointer to the application object
CWinApp* pApp = AfxGetApp(); // Get the correct document template
CDocTemplate* pDocTemplate;
POSITION pos = pApp->GetFirstDocTemplatePosition();
pDocTemplate = pApp->GetNextDocTemplate(pos); ASSERT(pDocTemplate); // Create the new frame
CFrameWnd* pNewFrame = pDocTemplate->CreateNewFrame(GetDocument(),
(CFrameWnd*)AfxGetMainWnd());
ASSERT(pNewFrame); // Activate the frame and set its active view
pDocTemplate->InitialUpdateFrame(pNewFrame, NULL); CYourView* pWBVw = (CYourView*)pNewFrame->GetActiveView();
ASSERT(pWBVw); pWBVw->m_webBrowser.SetRegisterAsBrowser(TRUE); *ppDisp = pWBVw->m_webBrowser.GetApplication();
} to show in the same windowvoid CYourView::OnNewWindow2(LPDISPATCH FAR* ppDisp,
BOOL FAR* Cancel)
{
//Get m_strLastUrl in the handler funtion of BeforeNavigate2 event
*Cancel=TRUE;
Navigate(m_strLastUrl);
}
我那个_self用得哪里不对呢.
COleVariant varEmpty;
m_WebBrowser.Navigate2( &varURL, &varEmpty, &varEmpty, &varEmpty, &varEmpty );
签名:jmcooler
你的方法很简单了,不知我那个_SELF是怎么赋值呢,
我用COleVariant var("_SELF")好象是没错,
m_WebBrowser.Navigate2( &varURL, &varEmpty, &var, &varEmpty, &varEmpty );
可这样做,一开始就跳出个新窗口
签名:jmcooler
又跳出新窗口来显示
签名:jmcooler
签名:jmcooler
这样估计,用户再点击链接时,会传给你的程序一个命令行参数。
签名:jmcooler