最近由于项目需要,需要在对话框中使用CHtmlEditCtrl控件,网上大部分的代码都是直接使用CHtmlEditView的,很少有CHtmlEditCtrl在对话框中使用的示例。网上有一个《动态表情的》,代码中存在bug,因此给出了可以编译运行的代码:
(1)、由于CHtmlEditCtrl的构造函数被声明为protected,因此没有办法直接使用。微软已经承认这是一个Bug,在后继的版本中会修改。为此我们必须继承一个新的类,声明为CMyHtmlEditCtrl,该类不需要做任何事情。
(2)、在对话框的.h中增加一个成员CMyHtmlEditCtrl m_HtmlEditCtrl;
(3)、在对话框中的设计中增加一个CStatic控件,将它的大小放到适当,它的资源 ID为IDC_STATIC。
(4)、在对话框的OnInitDialog中增加下面的代码:
CRect rcIE;
GetDlgItem(IDC_STATIC)->GetWindowRect(&rcIE);
ScreenToClient( &rcIE );
BOOL bRet = Create(NULL,
NULL,
WS_VISIBLE|WS_CHILD|WS_VSCROLL|WS_HSCROLL,
rcIE,
this,
IDC_STATIC,
NULL);
GetDlgItem( IDC_STATIC)->DestroyWindow();
至此一切OK,So easy!!!!!!!!!!!!!!