WindowProc()

WindowProc()函数

Windows程序最主要的两个函数除了WinMain()函数外还有一个叫消息处理函数即
WindowProc()函数 ,它的作用是等候事件发生的消息,具体说就是:什么键按下了?
或定时器的消息是否发生了?然后再决定去执行哪个程序块。 

              WindowProc()函数
WindowProc()函数的基本形式(即原型prototype)是:

LRESULT CALLBACK WindowProc ( HWND hWnd, UINT message,
                                WPARAM wParam, LParam);


返回类型是LRESULT,是由Windows所定义的数据类型,通常相当于 long 型。
因为此函数被Windows调用是通过指针进行的(你在WinMain()中的WNDCLASSEX结构设定
的指针),你必须证实函数为CALLBACK. 这是另一个由Windows所定义的说明符,它决定
了函数的参数如何处理。4个参数的传递提供了引起函数被调用的具体消息的情况。每个
参数的意义如下:
HWND hWnd : 事件引起消息发生的那个窗口。
UINT message: 消息的ID,它是32位值,指明了消息类型。
WPARAM wParam : 32位值,包含附加信息,决定于消息的种类。例如键盘的哪个键代码。
LPARAM lParam: 32位值,同上。例如,前16位=重复数
                                      接着8位:扫描码(决定于厂家)
                                      第24位:为1时表示扩展键。
                                      第25到28位:保留区
                                      第29位为1时=alt按下,否则为0。
                                      第30位为1时=消息前按下,否则为0。
                                      第31位为1时=正在被释放,否则为0。

当用户按下一个键时。那是什么键,由这最后两个变量来说明。
消息的符号常数以WM_开头,例如WM_PAINT,相应于要求窗口的用户区部分重绘。又如
WM_LBUTTONDOWN表示鼠标左键被按下。可参考MSDN Library.
除了上述函数原型之外,还有Windows消息解码用的switch语句,其中又有case语句,
绘制窗口消息的响应及其结束,关闭应用程序等处理过程。这样才构成完整的WindowProc()
函数。
总之,在使用Windows API来编制Windows程序时必须了解上述的术语内容。可以通过这部分
的内容来深入了解Windows编程的本来面目。
实际上,在用MFC来编程和用Windows Forms来编程时情况就简单得多了。这两种情况没有上述那么多麻烦的术语。
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值