WNDCLASS HWND HDC HGLRC MSG

来源:互联网 发布:工厂花季少女走红网络 编辑:程序博客网 时间:2024/04/29 16:52

WNDCLASS:结构WNDCLASS包含一个窗口类的全部信息,也是Windows编程中使用的基本数据结构之一,应用程序通过定义一个窗口类确定窗口的属性。WNDCLASS结构包含了RegisterClass函数注册的类属性。

HWND:h是类型描述,表示句柄(handle),Wnd是变量对象描述,表示窗口,所以hWnd表示窗口句柄。Microsoft Windows运行环境,通过给应用程序中的每个窗体和控件分配一个句柄来标识他们。hWnd属性用于Windows API调用。许多Windows运行环境函数需要活动窗口的hWnd作为参数。

HDC:设备上下文是一种包含有关某个设备的绘制属性信息的Windows数据结构。所有绘制调用都通过设备上下文对象进行,这些对象封装了用于绘制线条,形状和文本的Windows API。

HGLRC:图形操作描述表。OpenGL Render Contex。在Windows下用GDI作图必须通过DC调用相应的函数;用OpenGL作图也是类似,OpenGL函数是通过Render Context完成三维图形的绘制。Windows下的窗口和设备上下文支持“位图格式”(PIXELFORMAT)属性,和RC有着位图结构上的一致。只要在创建RC时与一个DC建立联系,OpenGL的函数就可以通过RC对应的DC画到相应的显示设备上。

关于RC有以下需要注意的地方:

1.一个线程只能拥有一个RC,也就是说,用户如果在一个线程内对不同设备作图,只能通过变更与RC对应的DC来完成,而RC在线程中保持不变。

2.设定DC位图格式等于设定了相应窗口的位图格式,并且DC和窗口的位图格式一旦确认就不能再改变。

3.一个RC虽然可以更换DC,但在任何时刻只能利用一个DC,但由于一个窗口可以让多个DC作图从而可以让多个线程利用多个RC在该窗口上执行OpenGL操作。

4.当使用双缓存用OpenGL产生动画时,不能使用GDI函数向该DC作图。

MSG:在Windows程序中,消息是由MSG结构体来表示的。消息系统对一个Win32程序来说十分重要,消息是系统定义的一个32位值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事件发生了。例如:单击鼠标,改变窗口尺寸,按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。

0 0