WM_SIZE:用户改变了大小?

时间:2015-03-30 12:52:06

标签: windows winapi message-handlers

是否可以在WM_SIZE的Windows消息处理程序中检测当前大小更改是否由用户操作触发(例如通过鼠标或系统菜单+键盘调整大小)?

(目前我正在设置/重置一个标志,无论调整大小是“因为我的代码”,但在某些情况下这是非常笨重的)


[edit]用例:
目的是区分“用户设置大小”与其他操作(也控制用户)触发的大小更改。

在这种特殊情况下,我有一个属性表控件,其中每个页面具有不同的最小/默认大小。

预期的用户行为如下:

  • 工作表的最小尺寸不小于当前页面所需的尺寸(即当页面更改时它会发生变化)
  • 如果用户将工作表的尺寸设置为“尽可能小”,然后切换到另一个页面,则应将其尺寸设置为“对于该页面尽可能小”。

(非正式的第一级可用性测试 - 即我用它来玩弄 - 已经表明,对于X和Y,可以更好地跟踪这个“使用较小尺寸”)

是的,当页面发生变化时,这会导致纸张尺寸跳跃。这是不幸的,但比这个特定应用程序中的替代更好

在这种情况下,该风不支持Aero对接,因为它不是顶级的。


FWIW,对于所有控件,更改消息始终一致,具有指示符,如果这是由用户操作触发的,或者在我的“UI控件API必不可少”列表中以编程方式排名很高”。

0 个答案:

没有答案