不好了!我的文字在闪烁?

时间:2011-09-19 21:14:50

标签: c++ winapi user-interface text flicker

基本上,我正在尝试创建一个应用程序,其中包含一堆彩色矩形,上面写有文本,您可以单击它,使其完成任务。它运行得很好,除了每个按钮(使用DrawText()创建)上的文本不断闪烁的事实。我有什么办法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:6)

从上面的评论中,您描述了从主消息循环调用应用程序对象的绘制过程。这几乎肯定是你问题的根源。它不仅会导致闪烁,而且听起来像是在以100%CPU利用率运行应用程序,这是不好的。

您应该做的是处理WM_PAINT消息并仅绘制以响应该消息。这就是Windows GUI应用程序的工作方式。我建议您阅读任何介绍性的Windows GUI书籍。规范这样的书是Petzold的Programming Windows。