这个消息根据MSDN上介绍,改变大小、位置、Z-order顺序的时候。

The WM_WINDOWPOSCHANGING message is sent to a window whose size, position, or place in the Z order is about to change as a result of a call to the SetWindowPos function or another window-management function.

其中,lParam指向WINDOWPOS结构体,这个结构中包含窗口的新信息。所以从以下这句话可以看出:

While this message is being processed, modifying any of the values in WINDOWPOS affects the window's new size, position, or place in the Z order. An application can prevent changes to the window by setting or clearing the appropriate bits in the flags member of WINDOWPOS. 需要改变一个窗口的属性的时候,需要修改这个参数,不能使           用局部的WINDOWPOS

WINDOWPOS* pPos = (LPWINDOWPOS)lParam;  有效

WINDOWPOS pso = (WINDOWPOS)(*lParam); 无效

其中SetWindowPos的参数与WINDOWPOS结构体的参数是一致的

flags 的可取值

SWP_NOSENDCHANGING 的设置并不会阻止窗口对该消息的接收,只是接收的消息中位置相关的参数会清零,并且最后的标志位会是 SWP_NOMOVE | SWP_NOSIZE

hWndInsertAfter

不可以为NULL,必须是窗口句柄或者是HWND_XX的一个参数

WM_WINDOWPOSCHANGING 消息相关推荐

  1. WinAPI: SetWindowPos - 改变窗口的位置与状态

    //声明: SetWindowPos(hWnd: HWND; {窗口句柄}hWndInsertAfter: HWND; {窗口的 Z 顺序}X, Y: Integer; {位置}cx, cy: Int ...

  2. MFC90条技巧-带目录

    1."属性页的添加: 2."List Control中标题栏(Column)的添加: 3."ToolBar和StatusBar中控件的添加: 4."通过Cont ...

  3. 给Source Insight做个外挂系列之五--Insight “TabSiPlus”

    "TabSiPlus 外挂插件"主要有两部分组成,分别是"外挂插件加载器"和"插件动态库"."插件动态库"完成Sourc ...

  4. 【转】win32窗口的大小,居中,拖动

    参考 https://www.cnblogs.com/findumars/p/3948315.html 不让调整大小 窗口风格设置,后面两个是最大最小化按钮 dwStyle^WS_THICKFRAME ...

  5. MFC窗口标题栏隐藏

    隐藏: LONG IStyle = ::GetWindowLong(this->m_hWnd, GWL_STYLE);// 等于 DWORD dwStyle = GetStyle(); ::Se ...

  6. SetWindowPos详解

    函数名: SetWindowPos 头文件: winuser.h 函数原型: BOOL SetWindowPos ( HWND hWnd, //窗口句柄 HWND hWndInsertAfter, / ...

  7. SetWindowPos()详解

    SetWindowPos()详解 函数名:SetWindowPos 头文件:winuser.h 函数原型: BOOL SetWindowPos( HWND hWnd, //窗口句柄 HWND hWnd ...

  8. 如何设置对话框的最大(小)高度与宽度

    关于如何设置对话框的最大(小)高度与宽度,网上有很多blog介绍了这个方面,我觉得有一篇写的比较好,先扒过来凑点字数 以下内容转自http://www.youranshare.com/push/cod ...

  9. Win32 API 函数列表

    ID编号 函数名 函数说明 详细说明 Win16支持 Win9x支持 WinNT支持 1 AbortDoc 终止一项打印作业  Yes Yes Yes 2 AbortPath 终止或取消DC中的一切路 ...

最新文章

  1. discuz二次开发笔记(一)------$_G全解析,discuz_g_PHP教程
  2. python私人兼职_python能做什么副业#下班后有哪些兼职副业
  3. android 阴影效果
  4. 未来教育计算机二级01为法律一班,2019年3月计算机二级MSOffice提分试题及答案012...
  5. iphone mac地址是否随机_iOS8随机MAC地址功能:需要满足前提要求
  6. 【vue项目使用echarts实现区域地图绘制,且可点击单独区域】
  7. 超级详细的Junit单元测试教程
  8. easyrecovery免费数据恢复工具操作简单一键恢复数据
  9. 10本深入学习Spring框架的最佳书籍和课程
  10. ExtJs6学习(五)【Extjs MVC开发模式详解】
  11. 通过简单的C语言解决找钱问题
  12. c语言.jpg图片转成数组_JPG图片怎么转换成PDF?可以试试这些转换方法!
  13. 做项目与做产品的区别详解
  14. android studio signingconfigs 打正式包,android signingConfigs打包配置
  15. 【小强推歌】---Shania Twain 经典歌曲收藏
  16. Matlab含新能源(风电光伏)和多类型电动汽车配电网风险评估 由于电动汽车负荷与风电光伏出力的不确定性,造成配电网运行风险,运用蒙特卡洛概率潮流计算分析电压和线路支路越限
  17. mysql之sql语句优化
  18. 重新开发一套股票分析及监控软件,接受定制需求
  19. 树莓派项目实践 [1] —— 编程控制继电器组件实现电路开闭(C语言)
  20. 单片机c语言怎么实现按键松开,灯还保持松开前的状态,单片机C语言程序设计:K1-K4按键状态显示...

热门文章

  1. Kotlin - 元组 Pair、Triple
  2. 函数cvRound,cvFloor,cvCeil用法
  3. 如何加入知识星球参与开源优测交流圈子
  4. 《女儿们的恋爱》开播 沈梦辰被爸爸“催婚三连”
  5. 你在无意中就打破了用户体验设计中最重要的规则!
  6. 访问ftp服务器文件夹权限设置,访问ftp服务器文件夹权限设置
  7. ZOJ1713 Haiku Review
  8. vue项目打包publicpath_Vue项目打包路径问题
  9. android app模拟操作的几种方式
  10. 计算几何、凸集、凸函数、凸规划简介