zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    Oracle巡检html版
    bat批处理常用脚本
    UiBot踩坑记录
    服务器的一些优化
    开始学算法(一)
    docker 容器服务脚本自启动
    Cenots Ubuntu linux系统服务脚本开机自启方法
    docker容器添加自定义hosts
    docker 常用命令
    《图解HTTP》学习笔记
  • 原文地址:https://www.cnblogs.com/time-is-life/p/5986384.html
Copyright © 2011-2022 走看看