最近想要在原有系統(基於mfc,非託管)中加入wpf的介面。搜尋了一段時間,發現大部分文章都是在談託管程式c++中呼叫wpf,還是不太適合我的需要。於是自己嘗試著從本機c++的mfc程式中呼叫wpf,使用c# 實現乙個com元件作為中間層。目標是在mfc程式中彈出乙個wpf視窗。
新增乙個window,命名為mainwindow,實現具體的介面。
定義com介面(參考用c#建立com物件、c++呼叫c# 的com)
新增using system.runtime.interopservices;
定義介面:showmainwindow.
**如下:
[guid(
"b5229c49-f49d-4a2c-a9f5-ca1249de3890")]
//使用工具生成的guid
public
inte***ce
ui_inte***ce
生成強名稱檔案
sn –k ui_inte***ce.snk
在assemblyinfo.cs中,新增下面一行
[assembly: assemblykeyfile("ui_inte***ce.snk")]
將dll加入gac
gacutil /i uiinte***ce.dll
註冊
regasm uiinte***ce.dll
引用com元件
#import 「\uiinte***ce.tlb"
新增呼叫**:
coinitialize(null);
ui_inte***ceptruiinte***ceptr;
hresulthr
=uiinte***ceptr.createinstance(__uuidof(ui_class));
if(hr
==s_ok)
couninitialize();
在MFC程式中新增全屏顯示功能
這是工作室為實現全屏顯示所髮集的乙個演示程式。你可以通過選擇全屏顯示選單選項時看到相應的效果。這段 包括兩個內容 全屏顯示,浮動工具條 用於恢復操作 下圖便是全屏狀態和用於切換的浮動工具條 具體實現步驟 以下的 被新增到cmainframe類中。這裡是使用到的四個訊息以及他們的簡要說明 1 onvi...
在MFC程式中新增全屏顯示功能
這是工作室為實現全屏顯示所髮集的乙個演示程式。你可以通過選擇全屏顯示選單選項時看到相應的效果。這段 包括兩個內容 全屏顯示,浮動工具條 用於恢復操作 以下的 被新增到cmainframe類中。這裡是使用到的四個訊息以及他們的簡要說明 1 onviewfullscreen 全屏顯示選單項的控制代碼。2...
在MFC中顯示cv Mat
void bitmattownd cwnd pwnd,cv mat img,crect roi else if ichannels 3 else if bitbuffer null bitmapinfo bitmapinfo bitbuffer bitmapinfo bmiheader.bisize...