最近由於項目需要,需要在對話框中使用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!!!!!!!!!!!!!!