如题,对于帮助者致以真心的谢意。
如果有必要,我自己会UP。
混分的不要企图在这里混,我不会给的。
如果有必要,我自己会UP。
混分的不要企图在这里混,我不会给的。
解决方案 »
- 用CxImage儲了jpg檔,可是jpg檔怪怪的
- 如何用vc读另一程序中的数据(波形图)?
- 加载图片出错?
- 把文本框的内容逐行写入txt,写入已经实现,如何换行写入?
- 求可以捕获鼠标中间键的DLL.或OCX.
- 怎么利用“日期”删除超时的数据行?
- SendMessage是否引起了递归?
- 怎样查看dll文件的属性和方法呢??急!!
- 有谁知道在那里能真的下载到《VC++MFC编程实例》《VC++MFC扩展编程实例》书的附书源代码?
- 各位大虾:到哪里能找到中文的MSDN的VC帮助?
- 如何判断ADO中的Recrodset为空
- 来过../topic/1855/1855601.xml?temp=8.611697E-02和.4118616的朋友请进!!
以前试过得用NewWindow,NewWindow事件有一URL参数,得到后用Navigate方法将当前窗口的webbrowser导航到这个URL
1)VC中没有办法实现NewWindow事件,而且MSDN中说明的NewWindow事件的参数中也没有URL。
2)NewWindow事件是被荒废了的事件,就算能用,用它也不爽啊。恳请继续指点。
void NewWindow( IDispatch **&ppDisp,
VARIANT_BOOL *&Cancel
);在VB中却是如下
Private Sub a_NewWindow(ByVal URL As String, ByVal Flags As Long, ByVal TargetFrameName As String, PostData As Variant, ByVal Headers As String, Processed As Boolean)End Sub我用VB试过,可以达到目的,在VC下可能得用自己连接点来实现了,比较麻烦,我目前知道的实现这种效果的就只有NewWindow,如果不采用这种方法的话,得等高手来了.
我现在就是这样做的。很麻烦,希望能有更好的办法。
你好像没有明白我的意思,我是要让新的窗口的内容,在原来的窗口显示。原来的内容不要了。你说得好象是反了。
如果有这个事件,将target="_self" 写进html文档中,用put_target
Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
Set ppDisp = WebBrowser1.Object
End Sub
应该意思差不多吧
单步跟踪运行轨迹正常,清高手指点!BEGIN_EVENTSINK_MAP(CPortalDlg, CDialog)
ON_EVENT(CPortalDlg, IDC_WEBBROWSER_ALFA, 251, OnWebBrowserNewWindow2, VTS_PDISPATCH VTS_PBOOL)
END_EVENTSINK_MAP()void CPortalDlg::OnWebBrowserNewWindow2(LPDISPATCH* ppDisp, BOOL* Cancel)
{
// TODO: Add your message handler code here
LPUNKNOWN lpUnknown = this->m_pWebBrowserForeground->GetControlUnknown();
LPDISPATCH lpDispatch;
if (SUCCEEDED(lpUnknown->QueryInterface(IID_IDispatch, (void**)&lpDispatch)))
{
*ppDisp = lpDispatch;
*Cancel = FALSE;
}
else
{
*Cancel = TRUE;
}
}
void CIEDlg::OnNewWindow2(LPDISPATCH FAR* ppDisp, BOOL FAR* Cancel)
{ IUnknown* pUnk = m_Browser.GetControlUnknown();
if (pUnk)
{
IDispatch* pDisp = NULL;
HRESULT hr = pUnk->QueryInterface(IID_IDispatch, (void**)&pDisp); if (SUCCEEDED(hr) && pDisp)
*ppDisp = pDisp;
}
}
应该有一定规律吧?
thanks
void CIEDlg::OnNewWindow2(LPDISPATCH FAR* ppDisp, BOOL FAR* Cancel)
{ IUnknown* pUnk = m_Browser.GetControlUnknown();
if (pUnk)
{
IDispatch* pDisp = NULL;
HRESULT hr = pUnk->QueryInterface(IID_IDispatch, (void**)&pDisp); if (SUCCEEDED(hr) && pDisp)
*ppDisp = pDisp;
}
}