WM_ENTERSIZEMOVE / WM_EXITSIZEMOVE - 使用菜单时,并不总是配对

2023-12-22

为了防止我的应用程序在用户移动窗口时更改窗口内容,我捕获消息WM_ENTERSIZEMOVE / WM_EXITSIZEMOVE我在消息之间暂停应用程序。然而,有时我会收到WM_ENTERSIZEMOVE but no WM_EXITSIZEMOVE根本不。一个重现是:

  • 打开窗口菜单
  • 单击尺寸
  • 不要调整窗口大小,而是单击窗口

请注意,窗口从未收到任何WM_EXITSIZEMOVE.

在检查其工作原理时,我还检查了 Microsoft DirectX 示例,并且注意到了同样的问题。一旦您按照上面的重现步骤操作,示例应用程序看起来就冻结了(我刚刚使用 2009 年 3 月 SDK 中的 BasicHLSL 示例进行了尝试)。

应用程序预计将如何响应?是否还有其他应终止的条件“移动或调整模态循环的大小”?


我知道这已经很晚了,但它仍然可能对您有帮助 - 并且可能会帮助像我一样在搜索中找到它的其他人。

看来在您提到的情况下,当调整大小“取消”时会发送 WM_CAPTURECHANGED 消息。经过大量测试后,似乎它总是在 WM_EXITSIZEMOVE 之前(或应该是!)发送,并且在 WM_ENTERSIZEMOVE / WM_EXITSIZEMOVE 之间没有其他阶段发送。

WM_CAPTURECHANGED 消息也会在其他各种时间发送,因此您应该仅在已发送 WM_ENTERSIZEMOVE 消息但未发送以下 WM_EXITSIZEMOVE 消息时对其做出反应。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WM_ENTERSIZEMOVE / WM_EXITSIZEMOVE - 使用菜单时,并不总是配对 的相关文章

随机推荐

  • xcodebuild 生成空的compile_commands.json

    我正在使用以下命令将 oclint 与 xcode 5 一起使用 步骤1 xcodebuild target OClintDemo configuration Debug scheme OClintDemo sdk iphonesimula
  • 即使定义了函数,我也必须在类中实现函数的错误[重复]

    这个问题在这里已经有答案了 我收到错误 Class QueryParameterComparer must implement Function Compare x As QueryParameter y As QueryParameter
  • CPU什么时候可以忽略LOCK前缀并使用缓存一致性?

    我原本以为MESI等缓存一致性协议可以提供伪原子性but仅跨个人内存加载 存储指示 如果我执行获取 修改 写入指令组合 仅使用 MESI 将无法在第一条指令到最后一条指令之间强制执行原子性 然而 英特尔参考手册第 3a 卷第 8 节说 8
  • java: ClassCastException - [Ljava.lang.Long;无法转换为 java.lang.Long

    我使用 red5 并使用 IConnection 类设置 获取属性 但这确实不相关 L 在java中是长的意思 所以 0L 是 0 类型长整型 而不仅仅是 0 即 0 类型整数 有什么区别 Ljava lang Long and java
  • 使用 Gulp 时如何将 React 设置为生产模式

    我需要在生产模式下运行 React 这可能需要在环境中的某个位置定义以下内容 process env NODE ENV production 问题是我在 Tornado 一个 python Web 服务器 而不是 Node js 后面运行它
  • iOS / iPhone 上的正常运行时间冻结

    有人知道为什么我使用以下方法会遇到奇怪的正常运行时间吗 NSProcessInfo processInfo NSProcessInfo processInfo NSTimeInterval systemUptime processInfo
  • 如何拆分Tailwind生成的CSS代码?

    我正在寻找一种解决方案 将 Tailwind PostCSS 插件 与 purgecss 插件结合 生成的大 CSS 文件拆分为多个 CSS 文件 每个消费者 JS 文件一个 CSS 文件 JS 文件使用的 CSS 规则可以通过查看 JS
  • Android 4G 上如何查找互联网连接是否可用?

    我使用了以下代码来了解互联网连接是否可用 它在 3G 系统上运行良好 但它不适用于 4G 技术 有人知道如何查找 4g 上的互联网连接是否可用吗 如果有人有演示代码 请提供 Code public static boolean checkC
  • 为什么 EMR 5.x 版本中取消了对 Amazon S3 的直接写入?

    读完本页后 http docs aws amazon com emr latest ReleaseGuide emr hive differences html http docs aws amazon com emr latest Rel
  • Galaxy选项卡的布局设计

    我是 Android 新人 我想为 Galaxy 选项卡设计布局以及其他布局 我设计了四种布局 布局 小 大 超大和正常布局 但是当我尝试在 Galaxy 选项卡中检查这一点时 布局被拉伸 那么我如何开发在 Galaxy Tab 中运行的布
  • 具有固定大小 FIFO 队列的生产者/消费者模式

    我需要围绕固定大小的 FIFO 队列实现生产者 消费者模式 我thinkConcurrentQueue 周围的包装类可能适用于此 但我不完全确定 而且我以前从未使用过 ConcurrentQueue 这样做的不同之处在于队列只需要保存固定数
  • (0, someFunction)() 在javascript中的含义是什么[重复]

    这个问题在这里已经有答案了 我在某人的代码中发现了这段代码 听起来像这样 0 function arg this 在我尝试像下面这样玩之后 0 function arg console log arg 2 console log 0 1 2
  • CGContextSetTextMatrix 适用于屏幕外位图吗?

    我正在使用上下文创建屏幕外图像CGBitmapContextCreate 在绘制文本时 我尝试使用 CGContextSetTextMatrix contextRef CGAffineTransformMake 1 0 0 0 0 0 1
  • 如何在 Django 中以编程方式创建用户?

    我在一个项目中有 3 个应用程序 App1 从最终用户使用 基于网络视图的应用程序 App2 从服务提供商使用 网络服务 App3 由系统管理员使用 我想为每个应用程序使用 django 身份验证系统 我可以制作 django 项目来验证
  • LOG4J 同一类中的多个记录器

    我有一个具有 log4j 日志记录的 java 项目 它使用滚动文件附加程序和多个记录器来记录到文件 我想添加一个 DBappender 并有一个单独的记录器 仅写入此附加器 其他记录器都不会向其发送消息 比如说 我需要一个类有两个记录器
  • 如何让生成器调用 Rails 3 中的其他生成器

    我正在尝试宝石开发 现在特别是发电机 到目前为止 我已经成功创建了两个能够完美完成其工作的生成器 这两个生成器位于同一目录中 然而 现在我必须分别给他们每个人打电话 我想做的就是只调用一个生成器 然后让该生成器调用所有其他生成器 只需输入
  • 允许在 django REST 框架中发布请求

    我正在使用 django REST 框架创建一个简单的 REST API 我已通过向 api 发送 GET 请求成功获得响应 但由于我想发送 POST 请求 django Rest 框架默认不允许 POST 请求 As in image b
  • 单击即可打开文本框的传单自定义控件

    我已关注这个传单教程 http www coffeegnome net control button leaflet 关于如何为我的地图创建控制按钮 单击时 我希望它打开一个简单的文本框 其中包含有关地图及其作者的信息 其概念类似于this
  • 在列表内计数。帮助我理解这段代码

    我找到了一个3年前的老问题 帮助我计算列表中变量出现的次数 https stackoverflow com questions 9088062 count the number of occurrences of a number in a
  • WM_ENTERSIZEMOVE / WM_EXITSIZEMOVE - 使用菜单时,并不总是配对

    为了防止我的应用程序在用户移动窗口时更改窗口内容 我捕获消息WM ENTERSIZEMOVE WM EXITSIZEMOVE我在消息之间暂停应用程序 然而 有时我会收到WM ENTERSIZEMOVE but no WM EXITSIZEM