哦,不!我的文字在闪烁
Oh, no! My text is flickering?
基本上,我正在尝试创建一个应用程序,它的特点是一堆彩色矩形,上面写着文字,你可以点击,使它做的东西。它运行得很好,除了每个按钮上的文本(使用DrawText()创建)不断闪烁。我能做些什么来解决这个问题吗?
在上面的评论中,您描述了在主消息循环中调用应用程序对象的draw过程。这几乎肯定是你的问题的根源。它不仅会导致闪烁,听起来就像你在100%的CPU利用率下运行应用程序,这是不好的。
你应该做的是处理WM_PAINT
消息,并且只在响应该消息时进行绘制。这就是Windows GUI应用程序的工作方式。我建议您阅读任何介绍性的Windows GUI书籍。典型的这类书是佩佐德的《Windows编程》。
相关文章:
- constexpr 函数中的非文字(通过 std::is_constant_evaluated)
- 我可以使用条件运算符初始化C风格的字符串文字吗
- 如何使用字符串文字作为宏参数
- 有没有办法从非C/C++文件中读取C++原始字符串文字的内容
- 构造<int>具有 2 个字符串文字的向量
- 将数字打印成文字
- 处理闪烁窗口事件
- 初始化或分配空字符串文字到指向 C 中的 char 的指针或指向 C++ 中 const char 的指针的原因是什么
- 方便地对C++中的所有字符串文字进行模糊处理
- 如何避免LED在循环状态变化中闪烁?
- C++17 十六进制浮点文字单精度后缀冲突?
- 常量函数,当其参数是对文字类型的引用时
- 连接 LPCSTR 变量和文字?
- ExtTextOut 文本的持续闪烁,在一段时间后,文本将恢复为默认字体
- 比较 std::string 和 C 样式字符串文字
- 如何从char16_t字符串文字中读取双精度?
- 指内置类型的文字
- 分配给浮点数的积分文字除法 - 为什么结果是错误的?
- std::remove() 按预期处理文字,但不能与取消引用的迭代器一起工作
- 哦,不!我的文字在闪烁