1. 程式人生 > >MFC/HALCON混合程式設計系列二_開啟兩幅圖_MFC佈局

MFC/HALCON混合程式設計系列二_開啟兩幅圖_MFC佈局

我按照章柯淵部落格的設定報錯了,應該是下面這裡的問題: 
 
他可能在前面定義了 HWND hWnd; 
下面講一下我的做法 
首先參照這個帖子把專案配置好:http://www.ihalcon.com/read-1357.html 
 

新增picture control ,和兩個button按鈕,命名為“讀取影象”和“處理影象”  


   在“開啟影象”裡面新增如下程式碼
複製程式碼
1 2 3 CRect   rtWindow1;      GetDlgItem(IDC_DISPIMAGE)->GetClientRect(&rtWindow1);//IDC_DISPIMAGE為第一個影象控制元件的ID號,第二個視窗類似處理。
HWND hImgWnd= GetDlgItem(IDC_DISPIMAGE)->m_hWnd;
並且把open_window函式改成如下程式碼 

複製程式碼
1 open_window(rtWindow1.left, rtWindow1.top, rtWindow1.Width(), rtWindow1.Height(), (Hlong)hImgWnd, "visible", "", &WindowHandle);  HDevWindowStack::Push(WindowHandle);
然後在“處理影象”裡面新增如下程式碼
複製程式碼
1 2 3 4 CRect   rtWindow2;      GetDlgItem(IDC_STATIC)->GetClientRect(&rtWindow2);//IDC_DISPIMAGE為第一個影象控制元件的ID號,第二個視窗類似處理。 HWND hImgWnd= GetDlgItem(IDC_STATIC)->m_hWnd; open_window(rtWindow2.left, rtWindow2.top, rtWindow2.Width(), rtWindow2.Height(), (Hlong)hImgWnd, "visible", "", &WindowHandle);  HDevWindowStack::Push(WindowHandle);
執行之後

圖片:5.jpg