作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对通过在 MFC 库中添加 D2D 对象实现的进度条有疑问。我为我的函数设置了一个消息映射,它根据一些计算不断重绘进度条:
BEGIN_MESSAGE_MAP(CProgressControl, CStatic)
ON_WM_PAINT()
ON_REGISTERED_MESSAGE(AFX_WM_DRAW2D, &CProgressControl::OnDraw2D)
END_MESSAGE_MAP()
我的问题是,当用户锁定计算机并且屏幕处于休眠状态时,我的绘图函数似乎没有被调用。似乎 D2D 通知消息 AFX_WM_DRAW2D
在屏幕休眠时永远不会发送到重绘。
我试图在网上搜索这方面的信息,但没有找到任何关于屏幕休眠时可能发生的不同情况的好消息。如果有人对此有任何见解,我将不胜感激。
最佳答案
在我看来,这可能是一种正常行为。当您的应用程序最小化或计算机被锁定时,您是否收到任何消息?我怀疑不是。
无论如何,这为什么要打扰你?明明你的进度条当时是看不见的,何必气喘吁吁呢?你应该高兴 - Windows 对你的程序进行了优化。
但是,如果您除了在绘画消息中绘画之外还做了其他任何事情,那么我建议您将其移动到其他地方,因为无论如何它都不是合适的地方。绘制消息处理程序应仅包含绘制逻辑,并准备好随时调用(或根本不调用)。
关于c++ - 屏幕休眠时的 AFX_WM_DRAW2D 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26104654/
我是一名优秀的程序员,十分优秀!