WEB开发网
开发学院软件开发VC VC6中使用CHtmlView在对话框控制中显示HTML文件 阅读

VC6中使用CHtmlView在对话框控制中显示HTML文件

 2008-11-13 19:32:52 来源:WEB开发网   
核心提示:在VisualStudio6.0中出现了一个新类CHtmlView,利用这个类,VC6中使用CHtmlView在对话框控制中显示HTML文件,我们可以实现在对话框的控制中显示HTML文件,要想使用CHtmlView类,此外,当用户在控制中单击时,对它的定义和实现就必须有全面深入的理解, 我们不妨拿CHtmlView和C

在VisualStudio6.0中出现了一个新类CHtmlView,利用这个类,我们可以实现在对话框的控制中显示HTML文件。要想使用CHtmlView类,对它的定义和实现就必须有全面深入的理解。

我们不妨拿CHtmlView和CListView做一个比较,通过比较这两个类,我们会发现一些有趣的差别。首先,MFC中CListView有一个对应的CListCtrl类,而CHtmlView却没有一个CHtmlCtrl类与之对应;其次,CListView的使用依赖于MFC的文档/视结构,而CHtmlView的实现是基于COM的。通过IWebBrowser2接口来实现,而且IWebBrowser2与MFC文档/视图结构之间没有任何关系。为了实现在对话框的控制中显示HTML文件,我们也可以为CHtmlView创建一个对应的类CHtmlCtrl。以下是类CHtmlCtrl程序源代码:

创建一个静态控制(也可以是其他控制),这个控制的ID及大小位置与界面上的控制相同。

BOOLCHtmlCtrl::CreateFromStatic(UINTnID,CWnd*pParent)
{
  CStaticwndStatic;
  if(!wndStatic.SubclassDlgItem(nID,pParent))
  returnFALSE;
  //获取静态控制的矩形区域并转换为父窗口的客户区坐标
  CRectrc;
  wndStatic.GetWindowRect(&rc);
  pParent->ScreenToClient(&rc);
  wndStatic.DestroyWindow();
  //创建HTML控制(CHtmlView)
  return;
  Create(NULL,//类名
    NULL,//标题
    (WS_CHILD|WS_VISIBLE),//风格
    rc,//矩形区域
    pParent,//父窗口
    nID,//控制ID
    NULL);//框架/文档
}

为了避免主控程序将CHtmlView对象看作是文档/视图框架,需要重载,CView::OnMouseActivate和CView::OnDestroy。此外,当用户在控制中单击时,OnMouseActivate要负责响应(WM_MOUSEACTIVATE)。

1 2 3 4  下一页

Tags:VC 使用 CHtmlView

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接