当前位置:  开发笔记 > 开发工具 > 正文

Windows:鼠标按下窗口装饰

如何解决《Windows:鼠标按下窗口装饰》经验,为你挑选了1个好方法。

在几乎任何Windows应用程序中,我注意到在非客户区域中按住鼠标按钮会导致绘画停止.为什么需要这个?

例如,我有一个Managed Direct 3D应用程序,它显示一个旋转立方体.如果我将指针放在标题栏上并按住鼠标按钮,即使我没有将任何此类条件编码到循环中,立方体也会停止旋转.

为什么画停了?有什么好处?最重要的是,我该如何解决这个问题?



1> Shog9..:

当您单击标题栏时,窗口管理器会尝试确定您是否单击或开始拖动(移动窗口)时会暂停一下.如果您仍然按住按钮,那么它就是拖动:窗口管理器设置自己的消息循环并泵送消息,直到您释放鼠标.您的窗口应该仍然能够处理消息,因为它们仍然会被调度,但如果您的动画依赖于自定义消息循环,那么您将被卡住'直到模态拖动循环结束.

通过触发动画来触发消息来解决它:计时器对我来说似乎是一个不错的选择.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有