gpt4 book ai didi

c++ - 屏幕休眠时的 AFX_WM_DRAW2D 消息

转载 作者:行者123 更新时间:2023-11-28 06:40:14 25 4
gpt4 key购买 nike

我对通过在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com