我谢一个CHtmlCtrl类继承CHtmlView
我写一个CHtmlCtrl类继承CHtmlView类,基于单文档的,让ABOUT对话框里面的STATIC控件显示浏览器网页,浏览器使显示出来当我点击STATIC控件或者确定按钮时,会出现调式断言失败!!!请求各位大侠帮忙哈,小弟是个新手呢!!下面是部分代码,不知道哪个地方出错呢?
BOOL CHtmlCtrl::CreateFromStatic(UINT nID, CWnd* pParent)
{
CStatic wndStatic; //静态控件对象;
if (!wndStatic.SubclassDlgItem(nID, pParent))
return FALSE;
// 获取静态控制的矩形区域并转换为父窗口的客户区坐标
CRect rc;
wndStatic.GetWindowRect(&rc);
pParent->ScreenToClient(&rc);
wndStatic.DestroyWindow();
// 创建 HTML 控制 (CHtmlView)
return Create(NULL, // 类名;
NULL, // 标题;
(WS_CHILD | WS_VISIBLE ), // 风格;
rc, // 矩形区域;
pParent, // 父窗口;
nID, // 控制的ID号;
NULL); //取消文档框架支持;
}
int CHtmlCtrl::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
return CHtmlView::OnMouseActivate(pDesktopWnd, nHitTest, message);
}
void CHtmlCtrl::OnDestroy()
{
CFrameWnd* pFrame = GetParentFrame();
if(pFrame!=NULL&&pFrame->GetActiveView()==this)
// deactive during death
pFrame->SetActiveView(NULL);
//CHtmlView::OnDestroy();
CWnd::OnDestroy();
// TODO: 在此处添加消息处理程序代码
}
BOOL CAboutDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 在此添加额外的初始化
VERIFY(CDialog::OnInitDialog());
VERIFY(m_page.CreateFromStatic(IDC_STATIC_HTMLVIEW, this));
m_page.LoadFromResource(IDC_STATIC_HTMLVIEW);
m_page.Navigate2(_T("http://www.baidu.com"),NULL,NULL);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}