MFC对话框中使用CHtmlEditCtrl

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值