简单的HTML editor 实现过程

思路:
用MSHTML 控件,自己写一个,我想你可以,但没有这么多的时间,而且质量不一定比MS的好,毕竟微软的东西
已经有很多年的历史,有很多很多的用户,有很多很多的人在给它测试,稳定性可见一般。
我熟悉WTL的UI,所以就用WTL来做,为了更好的保持兼容,可以用VC6或者VS2008,MFC 的当然也是可以的。
但如果你不用MFC, 我想你可以从实质上掌握这个相关的技术。

再次,如果你用C#,那会简单很多,delphi也一样,也很简单。但我想,下次你可能就不会进步了,NetFramework没有提供的
功能,你可能就不会了。所以,我选择用C++,自然从上面选择WTL,已经决定了语言。
 
功能:
1. 编辑html,插入图片,表格
2. 能够编辑子控件,比如插入一个按钮,一个radio等
3. 能显示源代码,可以通过编辑源代码来编辑html page,其实都是控件提供的功能
4. 能够实现html 里的按钮与C++ application的交互。如图:
 
 
原理:
先创建一个IWebBrowser2 的控件,然后用它去Navigate 一个空白页,然后用get_Document取出一个disapatch,然后取一个
IHTMLDocument2,然后设置它为编辑模式,code 如下:
 

 
  if ( m_pWB2)
        m_pWB2>get_Document(&m_pDispatch);
    
    if ( m_pDispatch)
    {
        m_pDispatch>QueryInterface(IID_IHTMLDocument2, (void**)&m_pHtmlDoc);
    }
    if ( m_pHtmlDoc)
            m_pHtmlDoc>put_designMode(L“On”); //设置为编辑模式
是不是很简单啊?其他的就可以查看MSDN的文档,一个一个的去实现了。
你可以尝试的插入一个GIF,立马就能动画了,哈哈。
现在你可以继续做你自己想做的事情了。全在MSDN。

0

Comments are closed.