windows开发一些基本术语定义

本文详细介绍了Windows环境下句柄(hWnd)的概念及其应用场景,包括如何通过hWnd标识窗体和控件,并解释了为什么不能在运行时将hWnd存储在变量中。此外,还提供了OpenGL初始化的具体步骤及各函数的作用,如设置阴影效果、背景颜色等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 hWnd含义
h 是类型描述,表示句柄(handle), Wnd 是变量对象描述,表示窗口,所以hWnd 表示窗口句柄。如果把一个到处跑的人当作指针的话,那么HWND就是该人的身份证----我想应该是身份证号码
2 hWnd 属性
返回窗体或控件的句柄(注意 OLE 容器控件不支持该属性。句柄:是由操作环境定义的一个唯一的整数值,它被程序用来标识或者切换到对象,如窗体或控件等。)。

3 语法
object.hWnd
object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。
说明
Microsoft Windows 运行环境,通过给应用程序中的每个窗体和控件分配一个句柄(或 hWnd)来标识它们。许多 Windows 运行环境函数需要活动窗口的 hWnd 作为参数。hWnd 属性用于Windows API调用。
注意 由于该属性值在程序运行时可以改变,绝对不要将 hWnd 存储在变量中。

int InitGL(GLvoid)

在自定义的CreateGLWindow函数中调用了InitGL函数,它用来初始化OpenGL,实现如下所示:

int InitGL(GLvoid)               // All Setup For OpenGL Goes Here
{
glShadeModel(GL_SMOOTH);        // Enable Smooth Shading
glClearColor(0.0f, 0.0f, 0.0f, 0.5f);     // Black Background
glClearDepth(1.0f);              // Depth Buffer Setup
glEnable(GL_DEPTH_TEST);        // Enables Depth Testing
glDepthFunc(GL_LEQUAL);         // The Type Of Depth Testing To Do
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations
return TRUE;                   // Initialization Went OK

}

glShadeModel函数用来设置阴影的效果,主要有GL_SMOOTH和GL_FLAT两种效果,其中GL_SMOOTH为默认值,表示平滑阴影效果;
glClearColor函数设置背景颜色,参数基于RGBA颜色模型,需要4个分量的颜色值;
glClearDepth函数设置深度缓冲区的,它的含义就在OpenGL窗口绘制的图形深入到屏幕中的程度,深度的意义就是在三维空间中的z坐标的数值,z取0时表示在平面上,你就看不到窗口中的图形了,所以负值越小,越远离窗口平面向里,说明窗口中的图形离我们观察者的距离变远了;
glEnable(GL_DEPTH_TEST); 用来开启更新深度缓冲区的功能,也就是,如果通过比较后深度值发生变化了,会进行更新深度缓冲区的操作;
glDepthFunc(GL_LEQUAL);在调用glEnable(GL_DEPTH_TEST); 开启这个功能以后,当深度变化小于等于当前深度值时,更新深度值。
glHint函数用来规范OpenGL的行为的,使得图形能够更好地被控制以显示在窗口中。


转载于:https://my.oschina.net/ajian2014/blog/282108

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值