VS2015 MFC DLL對話框內調用ActiveX控件

在我的其它博客中,介紹了mfc dll如何調用模式對話框與非模式對話框的實現過程。接下來介紹在mfc dll中如果包含有ActiveX控件該如何調用了。
我們還是在mfc dll的對話框裏添加一個ActiveX控件,例如添加一個webbrowser控件,設置控件默認加載的網頁。
在這裏插入圖片描述
在這裏插入圖片描述
然後我們生成這個mfc dll動態庫,然後調用。
在調用的時候發現無法彈出mfc dll裏的這個對話框。
在這裏插入圖片描述
這是因爲mfc dll與mfc acitvex在創建對話框時,如果對話框裏包含ActiveX控件,需要設置幾行代碼。回到mfc dll的工程裏,在MFC_dll.cpp的初始化函數InitInstance()中添加如下代碼:
在這裏插入圖片描述

	//下面這些代碼爲添加對mfc dll中子對話框裏ActiveX控件的支持
	AfxEnableControlContainer();
	if (!AfxOleInit())
	{
		return FALSE;
	}
	//初始化控件環境
	AfxEnableControlContainer();
	CoInitialize(NULL);

然後重新生成mfc dll動態庫,接着在調用工程裏進行調用。這次就可以成功顯示mfc dll動態庫對話框裏webbrowser控件裏的網頁了。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章