MFC中CHtmlView和JS的相互呼叫

2021-06-22 01:35:59 字數 953 閱讀 6210

沒廢話,直接上步驟:

1、建立乙個繼承自chtmlview的類;

2、建構函式中新增

cnewhtmlview::cnewhtmlview()

3、過載 virtual hresult ongetexternal( lpdispatch *lppdispatch); 

hresult cnewhtmlview::ongetexternal( lpdispatch *lppdispatch )

// js呼叫c++部分

4、標頭檔案中新增巨集

declare_dispatch_map

類似declare_message_map,具體自己google

5、.cpp中新增介面對映

// 新增供js呼叫的函式

begin_dispatch_map(cnewhtmlview, chtmlview)

disp_function(cnewhtmlview, "cb_functiontryplay", cb_functiontryplay, vt_empty, vts_dispatch)

end_dispatch_map()

// 實現

說明:disp_function(cnewhtmlview, "js中呼叫的函式名", c++中對應的函式名稱, 返回值, 引數[多個引數以空格隔開,vts_dispatch一般作為結構體引數])

獲取結構體內容

6、呼叫js函式

hresult cnewhtmlview::oninvokejs( wparam wparam, lparam lparam )

搞定,收工~!

CHtmlView填充表單和模擬單擊事件

將此ico複製貼上到工具欄 include mshtml.h 使用ihtmldocument2介面 include 使用ccomvariant extern ccommodule module include atlcom.h ccomdispatchdriver需要,而且在它之前需加上ccommo...

MFC 關於mfc中控制項禁用和狀態判斷

bool enablewindow bool benable true 判斷控制項是否可用可以呼叫 cwnd iswindowenable函式 bool iswindowenable iswindowenabled 函式用於判斷指定的視窗是否允許接受鍵盤或滑鼠輸入。函式原型 bool iswindo...

MFC中CFileDialog開啟和儲存檔案對話方塊

首先我先寫一段在vc6.0上開啟 儲存檔案對話方塊的程式 cstring filepathname 檔名引數定義 cfiledialog dlg true,null,null,ofn hidereadonly ofn overwriteprompt,txt files txt txt all fil...