Windows程序中什么事件发生时,窗口过程会收到一条WM_SIZE消息

1.当WinMain函数调用CreateWindow时,窗口过程收到WM_CREATE消息,而第一条WM_SIZE消息就发生在那之后(准确的说是WinMain调用ShowWindow函数时)【相关应用汇总:因此①可以在窗口过程的WM_SIZE处理中获取字体的高度和宽度;②可以获取窗口(客户区)的宽度和高度(59页和81页有WM_SIZE相应lParam变量的解释);③可以对滚动条进行诸如SetScrollInfo的初始化工作】。  ——《Windows程序设计》82页

另:在许多Windows程序这个I报告,WM_SIZE消息后经常会有一个WM_PAINT消息。因为定义窗口类时,通常指定了如下的窗口风格:

CS_HREDRAW | CS_VREDRAW

它告诉Windows在窗口水平或垂直尺寸变化时强制重绘

2.“Sent to a window after its size has changed.” 【相关应用汇总:因此①在WndProc处理WM_SIZE消息的时候设定滚动条的范围相对于在WM_CREATE中更合适(客户区大小改变后,滚动条页需要做出相应调整),例如SetScrollInfo的使用;②缩放编辑控件的动作也应该放在此处,除以上原因以外,还因为此动作需要获取客户区大小,因此需要WM_SIZE的lParam】 ——更多信息参见MSDN,链接如下:

http://msdn.microsoft.com/zh-cn/library/ms632646(v=vs.100)

http://msdn.microsoft.com/en-us/library/windows/desktop/ms632646(v=vs.85).aspx

3.

_________________________________________________________________________________

WM_PAINT

至于WM_PAINT消息的触发事件,在《Windows程序设计(第5版)珍藏版》第64页有一个列表,另外,第56页的WM_PAINT消息做了一个系统的阐述

 

_________________________________________________________________________________

2013-06-10

WM_VSCROLL或WM_HSCROLL

当用户单机滚动条或者拖动滑块时,Windows向窗口过程发送WM_VSCROLL或WM_HSCROLL消息。在滚动条上的任何鼠标动作会产生至少两条消息:一条在鼠标按下时,另一条在鼠标松开时。

Windows will not change the posit ion of the scroll bar thumb. Your applicat ion does that by calling SetScrollPos .

——《Windows程序设计》85页

 

 

 


<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值