在MFC对话框中显示html网页
最近在写一个小软件,想在MFC对话框中显示帮助文档,都是html格式的,上网找了好多资料,用一个CHtmlCtrl类的东西,但是网上找的这个类放在VS2005下编译不过去,老是提示错误。于是几经修改,可以使用,下面贴代码(环境:Win7 + VS2005 SP1):
头文件:
源文件:
使用方法,在自己的对话框上拖进来一个static,然后修改一下ID为IDC_STATIC_HELP,然后在对话框的初始化函数,也就是OnInitDialog()中添加下面代码,注意下面的m_html是一个类成员变量,定义在头文件中 ,CHtmlCtrl m_html; :
BOOL CHelpDialog::OnInitDialog() { CDialog::OnInitDialog(); m_html.SetHideContextMenu(TRUE); m_html.CreateFromStatic(IDC_STATIC_HELP,this); m_html.Navigate(m_strUrl); //CString m_Text = " 李民录 "; //m_html.SetHTML(m_strUrl); return TRUE; // 除非将焦点设置到控件,否则返回TRUE }
至此,调用你的对话框,就可以看到效果了。
如果你想直接显示html文本的话,可以这样写:
m_html.SetHideContextMenu(TRUE); m_html.CreateFromStatic(IDC_STATIC_HELP,this); m_html.Navigate("about:blank"); //这句话一定要写 CString m_Text = 李民录liminlu0314@163.com> "; m_html.SetHTML(m_Text );"
运行效果图
HTML文档