vc6直接在控件里添加webbrowser控件,并给控件添加一个变量m_ctrlWeb。
打开网页:m_ctrlWeb.Navigate("http://blog.csdn.net/fjb2080",NULL,NULL,NULL,NULL);
禁止鼠标右键:
在添加webbrowser控件时会自动加入类CWebBrowser2,在类CWebBrowser2里添加成员函数:BOOL PreTranslateMessage(MSG* pMsg);
代码为:
BOOL CWebBrowser2::PreTranslateMessage(MSG *pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if((WM_RBUTTONDOWN == pMsg->message) || (pMsg->message == WM_RBUTTONDBLCLK))
{
return TRUE;
}
return CWnd::PreTranslateMessage(pMsg);
}
这里禁止了鼠标右键单击和双击。
vs2017里添加webbrowser。
在资源管理器里,右击窗口--->插入ActiveX控件--->Microsoft web browser。点击确定。
鼠标右击webbrowser控件,添加变量:m_ctrlWeb
由于vs2017在添加控件时会发生一些错误,所以需要另外修改。
找到窗口头文件,添加头文件#include "CWebBrowser2.h"。
并修改里面的变量m_ctrlWeb的类型。
由
COCX m_ctrlWeb;
改成
CWebBrowser2 m_ctrlWeb;
并在cpp文件中
void CBrowserDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EXPLORER1, DISPID(), m_ctrlWeb);
}
中的:DDX_Control(pDX, IDC_EXPLORER1, DISPID(), m_ctrlWeb);
改成
void CBrowserDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EXPLORER1, m_ctrlWeb);
}
最后,在CWebBrowser2中添加BOOL CWebBrowser2::PreTranslateMessage(MSG *pMsg)函数禁止鼠标右键。
在窗口文件的OnPaint()函数中添加:
m_ctrlWeb.SetWindowPos(NULL, 0, 0, rect.Width() - 20, rect.Height() - 20, SWP_NOZORDER | SWP_NOMOVE);
修改控件的大小。