MFC對話方塊中使用CHtmlEditCtrl

2021-09-07 07:08:32 字數 1040 閱讀 2992

mfc對話方塊中使用chtmleditctrl

我在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參見這裡

mfc 子對話方塊控制父對話方塊 MFC對話方塊構架程式

遺憾的是 從來沒有被堅定選擇過,就像是,他只是剛好需要,你只是剛好在。網易雲熱評 一 對話方塊架構分類 1 模式對話方塊,彈出來不能進行其他操作 2 無模式對話方塊,彈出來後可以進行其他操作 二 新建win32應用程式 模式對話方塊 1 建立 2 修改屬性 3 新增dialog資源 4 包含標頭檔案...

MFC 對話方塊

1 建立對話方塊模板,設定對話方塊屬性 cadditionddlg 主對話方塊類 顯示的主要介面 addition的資源樹 4個子項 dialog 對話方塊 含有2個對話方塊模板 id為idd aboutbox 關於對話方塊模板 idd addtion dlalog 主對話方塊模板 lcon 圖示 ...

對話方塊中使用CHtmlEditCtrl

最近由於專案需要,需要在對話方塊中使用chtmleditctrl控制項,網上大部分的 都是直接使用chtmleditview的,很少有chtmleditctrl在對話方塊中使用的示例。網上有乙個 動態表情的 中存在bug,因此給出了可以編譯執行的 1 由於chtmleditctrl的建構函式被宣告為...