使用MFC的CHtmlView创建浏览器控件
来源:互联网 发布:java反序列化利用 ma 编辑:程序博客网 时间:2024/06/04 19:45
PlazaBrowser.h
<pre name="code" class="cpp">#ifndefPLAZA_BROWSER_HEAD_FILE#define PLAZA_BROWSER_HEAD_FILE#pragma once#include <afxhtml.h>////////////////////////////////////////////////////////////////////////////////////浏览控件class CPlazaBrowser : public CHtmlView{//函数定义public://构造函数CPlazaBrowser();//析构函数virtual ~CPlazaBrowser();//重载函数protected://绑定函数virtual VOID PreSubclassWindow();//消耗处理virtual VOID PostNcDestroy();//功能函数public://创建函数virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT & rect, CWnd * pParentWnd, UINT nID, CCreateContext * pContext=NULL);//消息函数public://关闭事件VOID OnWindowClosing(BOOL IsChildWindow, BOOL * bCancel);DECLARE_MESSAGE_MAP()DECLARE_EVENTSINK_MAP()};#endif
PlazaBrowser.cpp
<pre name="code" class="cpp">#include "stdafx.h"#include "PlazaBrowser.h"#include <exdispid.h>//////////////////////////////////////////////////////////////////////////////////BEGIN_MESSAGE_MAP(CPlazaBrowser, CHtmlView)END_MESSAGE_MAP()BEGIN_EVENTSINK_MAP(CPlazaBrowser, CHtmlView)ON_EVENT(CPlazaBrowser, AFX_IDW_PANE_FIRST, DISPID_WINDOWCLOSING, OnWindowClosing,VTS_BOOL VTS_PBOOL) END_EVENTSINK_MAP()//构造函数CPlazaBrowser::CPlazaBrowser(){}//析构函数CPlazaBrowser::~CPlazaBrowser(){}//绑定函数VOID CPlazaBrowser::PreSubclassWindow(){__super::PreSubclassWindow();//设置背景SetClassLong(m_hWnd,GCL_HBRBACKGROUND,NULL);return;}//消耗处理VOID CPlazaBrowser::PostNcDestroy(){return;}//创建函数BOOL CPlazaBrowser::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT & rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext){//设置变量m_pCreateContext=pContext;//创建窗口if (CView::Create(lpszClassName,lpszWindowName,dwStyle,rect,pParentWnd,nID,pContext)==FALSE){return FALSE;}//获取大小CRect rcClient;GetClientRect(&rcClient);//创建窗口if (m_wndBrowser.CreateControl(CLSID_WebBrowser,lpszWindowName,WS_VISIBLE|WS_CHILD,rcClient,this,AFX_IDW_PANE_FIRST)==FALSE){DestroyWindow();return FALSE;}//查询接口LPUNKNOWN lpUnknown=m_wndBrowser.GetControlUnknown();lpUnknown->QueryInterface(IID_IWebBrowser2,(VOID **)&m_pBrowserApp);//屏蔽js错误提示m_pBrowserApp->put_Silent(VARIANT_TRUE);return TRUE;}//关闭事件void CPlazaBrowser::OnWindowClosing(BOOL IsChildWindow, BOOL *bCancel) { //禁止关闭if ((IsChildWindow==FALSE)&&(bCancel!=NULL)){*bCancel=TRUE;}return;}
<pre name="code" class="cpp">//创建控件CPlazaBrowserm_PlazaBrowser;//浏览控件CRect rcCreate(0,0,0,0);m_PlazaBrowser.Create(NULL,NULL,WS_CHILD|WS_VISIBLE,rcCreate,this,1001,NULL);m_PlazaBrowser.SetWindowPos(NULL,0,0,400,300,SWP_SHOWWINDOW);m_PlazaBrowser.Navigate(TEXT("http://192.168.2.254/ie.html"),NULL,NULL,NULL,NULL);
0 0
- 使用MFC的CHtmlView创建浏览器控件
- 使用CHtmlView创建自己的浏览器
- 使用CHtmlView制作浏览器的简单记录
- MFC中CHtmlEditCtrl类与CHtmlView类的使用
- MFC中使用浏览器控件
- 在MFC中使用Chrome浏览器控件
- 加速浏览器控件的创建
- VC 用微软插件或CHtmlView 开发浏览器时如何指定使用的IE内核版本
- MFC控件的使用
- MFC控件的使用
- MFC控件的使用
- 使用MFC创建并调用ActiveX控件
- 使用MFC创建并调用ActiveX控件
- CHtmlView-MFC中文手册
- CHtmlView-MFC中文手册
- 使用CHtmlView需要注意的问题之一
- MFC动态创建控件的消息处理
- MFC动态创建控件的消息处理
- opencv中yuv420的存储方式
- 30分钟掌握ES6/ES2015核心内容(下)
- POI和jxl.jar性能比较
- 操作 redis-jedis--spring-哨兵 2
- kudu scan java api
- 使用MFC的CHtmlView创建浏览器控件
- android网络编程——http post
- Jsp小案例——九九乘法表
- 第十一周上机实践项目 项目1-点-圆-圆柱类的设计(1)
- HorizontalListView源码解读之自己动手写ListView
- html中用框架做导航页
- 第10、11周项目4-教师兼干部类
- Redis与Memcached的区别
- 第十二周上机实践——项目3-数组类运算的实现