MFC/HALCON混合编程系列二_打开两幅图_MFC布局_
在系列一中,窗口只在读取图像的时候打开。今天我们要在读取图像之前打开两个窗口,一个用于显示原图,一个用于显示处理后的效果图。如下图所示:
要完成这个任务,我们需要知道确定两方面内容:第一,什么时候打开窗口;第二,如何确定窗口的位置。
首先来看第一个问题,要想在读取图像之前打开窗口,那么最好在对话框初始化的时候打开窗口。在对话框初始化函数 中添加如下代码:Halcon/C++中打开窗口的函数如下:
open_window(10,10,320,300,lWWindowID,"visible","",&WindowHandle);
第二个问题,使用图形控件,通过获取图形控件的位置和大小来确定打开的窗口的位置很大小。代码如下:
GetDlgItem(IDC_DISPIMAGE)->GetClientRect(&rect);//IDC_DISPIMAGE为第一个图像控件的ID号,第二个窗口类似处理。
hWnd = GetDlgItem(IDC_DISPIMAGE)->m_hWnd;
open_window(rect.left, rect.top, rect.Width(), rect.Height(), (Hlong)hWnd, "visible", "", &WindowHandle);
最终的显示效果如下图: