open_window()到底做了什么?

 1 Hlong MainWndID= (Hlong)m_hWnd;
 2 open_framegrabber("File", 4, 4, 0, 0, 0, 0, "default", -1, "default", -1, "default",
 3 "", "default", -1, -1, &AcqHandle);
 4 grab_image(&Image, AcqHandle);
 5 get_image_pointer1(Image, &Pointer, &Type, &Width, &Height);
 6 set_window_attr("background_color","black");
 7 set_window_attr("border_color", "white");
 8 
 9 open_window(20,140,Width,Height,MainWndID,"","",&WindowHandle);
10 disp_obj(Image, WindowHandle);

上面一段代码是从文件中加载一张位图,杂七杂八的先不说,我们看看open_window()函数.

话不多说先上图

这是程序主窗口

下面,重点来了,我们用vs自带工具spy++来捕捉程序主窗口中黑色的部分,如图:

清楚的看到,黑色部分是有句柄的:00310780  是有Caption的:"HALCON/WIN32-3600"  是有Class的:HALCON 更别说是有Style的,更是占据了主窗口中的一部分.

没错,open_window就是做了这件事:创建窗口!!!!!

至于窗口的caption我们可以通过set_window_attr()来改变.

有了这个句柄,Halcon可以根据它做任何事情,画任何东西!!!!

OK 就到这里! by xiejl

原文地址:https://www.cnblogs.com/xiejiulong/p/3807856.html