MFC对话框中使用CHtmlEditCtrl

感谢原帖作者:

http://blog.csdn.net/tingya/article/details/2028172

我在VS2008校正了一些代码。

最近由于项目需要,需要在对话框中使用CHtmlEditCtrl控件,网上大部分的代码都是直接使用CHtmlEditView的,很少有CHtmlEditCtrl在对话框中使用的示例。网上有一个《动态表情的》,代码中存在bug,因此给出了可以编译运行的代码:

(1)、由于CHtmlEditCtrl的构造函数被声明为protected,因此没有办法直接使用。微软已经承认这是一个Bug,在后继的版本中会修改。为此我们必须继承一个新的类,声明为CMyHtmlEditCtrl,该类不需要做任何事情。

(这一步在VS2008中我没有做,而是直接定义了CHtmlEditCtrl类型的变量,同时定义变量的时候要引入头文件"afxhtml.h")

(2)、在对话框的.h中增加一个成员CMyHtmlEditCtrl m_HtmlEditCtrl;

(3)、在对话框中的设计中增加一个CStatic控件,将它的大小放到适当,它的资源 ID为IDC_STATIC。

(4)、在对话框的OnInitDialog中增加下面的代码:

CRect rcIE;

GetDlgItem(IDC_STATIC)->GetWindowRect(&rcIE);

ScreenToClient( &rcIE );

BOOL bRet = m_HtmlEditCtrl .Create(NULL,

WS_VISIBLE|WS_CHILD|WS_VSCROLL|WS_HSCROLL,

rcIE,

this,

IDC_STATIC,

NULL);

GetDlgItem( IDC_STATIC)->DestroyWindow();

 

至此一切OK,So easy!!!!!!!!!!!!!!

 

对话框运行起来后,可以输入,支持Ctrl+B等操作,我从网页上拷贝了一段HTML代码,竟然连图片也可以一起拷贝过来。

然后就可以用GetDHtmlDocument方法来取得控件里面的HTML了。更多此控件的API参见这里https://msdn.microsoft.com/en-us/library/a00ea529(v=vs.90).aspx

 

MFC对话框中使用CHtmlEditCtrl的更多相关文章

  1. MFC对话框中显示BMP,JPG图片

    //************************************ // 方法说明:    显示JPG和GIF.BMP图片 // 参数说明:    CDC * pDC           设 ...

  2. 在MFC对话框中添加状态栏

    如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图). 1. 首先,打开在资源视图的String Table并添加两个ID: ...

  3. MFC对话框中显示背景图片

    在MFC对话框中显示图片,四个步骤. 1.首先得在VC6.0或者VS2008(其他版本也是一样)中导入GDI文件.(网上下载:) GDI含义是图形设备接口,主要任务是负责系统与绘图程序之间的信息交换, ...

  4. 在MFC对话框中快速集成三维控件

    在MFC的对话框中可以方便的集成AnyCAD三维控件(c++版本),遵循一下几步: 1.在对话框资源中增加一个Static控件,ID为IDC_STATIC_3D,并且把它的Notify属性设置为Tru ...

  5. MFC 对话框中动态创建N级菜单以及响应事件

    创建一个基于对话框的工程,工程名为CreateMenu 为该对话框增加一个文件菜单项和测试菜单项,如下图所示   测试菜单项至少要有一个子菜单项 在对话框属性中关联该菜单 在resource.h中增加 ...

  6. MFC对话框中解决回车键、ESC键退出的方法

    BOOL CYourDlg::PreTranslateMessage(MSG* pMsg) { if(pMsg->message==WM_KEYDOWN&&pMsg->wP ...

  7. [MFC] 对话框菜单项Menu选中打勾(单选,多选)

    近期需要实现一个功能:MFC对话框中,一项菜单下有五个菜单项,改变菜单项选中状态,每次只能选择其中一个打勾.(单选) 然后在网上搜了下资料,稍微总结下,以防后面用到. 1.单选实现: CMenu* m ...

  8. MFC中关于子对话框中编辑框不能编辑的问题

    最近在用MFC写程序.发现子对话框中的编辑框不能编辑.具体问题是这样的: 我有一个对话框YhglDlg,创建了这个对话框的子对话框ZjyhxxDlg,子对话框的Style属性为Child,Border ...

  9. Win32 DLL和MFC DLL 中封装对话框

    现在最常看见的关于DLL的问题就是如何在DLL中使用对话框,这是一个很普遍的关于如何在DLL中使用资源的问题.这里我们从Win32   DLL和MFC   DLL两个方面来分析并解决这个问题.     ...

随机推荐

  1. Keepalive双主搭建配置

    Keepalive 双主搭建配置 keepalived保证双主数据库的可用性 环境说明 192.168.1.10  keepalive 主1 192.168.1.20  keepalive 主2 19 ...

  2. 使用7-zip制作自解压安装包

    7-zip制作自解压包很方便,只要在压缩时选择”创建自释放程序”选项. 而自解压安装包有点麻烦,不如WinRAR方便. 准备工具:下载 LZMA SDK 这里面有 7zSD.sfx (16.04版7z ...

  3. 阿里weex学习入门必备

    1.阿里weex学习前景 至于这些东西,可以参照一下链接去看看其作用.... http://share.iclient.ifeng.com/news/sharenews.f?forward=1& ...

  4. APS-C画幅与全画幅

    本次对比将通过视角.景深.暗角.细节等几个方面来展现APS-C画幅与全画幅的差别.希望这篇帖子中的一些说明,能对一些纠结在APS-C画幅 与全画幅之间的朋友有所帮助与参考. 同等焦距下APS-C画幅与 ...

  5. Hibernate5.2关联关系之单向多对一(二)

    Hibernate5.2之单向一对多(二) 一. 简介 在本篇博文中笔者会在上一篇博客的代码基础上进行修改,本篇文章将介绍单向的一对多. 二. hbm文件的方式 Customer.hbm.xml &l ...

  6. Python基础(二)之元组及字典

    元组:以一对小括号表示,不可以增删改,只可查看. 字典:以一对大括号表示,字典中含key及value,字典是无序的. 下面介绍字典和元组的一些常见操作: 一.元组 a = ('haha','xixi' ...

  7. LinkedList

  8. VS2013各个版本秘钥

    Visual Studio Ultimate 2013 KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9 Visual Studio Premium 2013 KEY(密钥) ...

  9. android 自定义View onMeasure中 super.onMeasure 和 setMeasuredDimension

    练习写一个自定义的view,代码是抄网上的,第一次写,没有问题,与网上的示例一样的效果, 第二次.第三次,都出现问题,但是解决了. 昨天进行第四次写再写,又出问题不一样的问题了. 首先是想加一个子包, ...

  10. Unity3D 动画回调方法

    最近发现很多coder.在用Unity开发游戏的时候都需要一个需求就是..动画播到某一帧就要干什么事情.而且希望能得到回调. 在unity里面的window菜单有个.Animation工具.打开它.然 ...