windows mfc对话框闪烁在无效
windows mfc dialog flashes on Invalidate
我有一个基于对话框的MFC应用程序,有很多文本编辑和其他一些东西。
我调用Invalidate();大约每秒10次,因为所有这些文本编辑都需要更新(它们都绑定到线程中设置的全局变量)
我希望只有文本编辑字段闪烁一点,但整个对话框都在闪烁,这是不太好的。
有更好的方法吗?UpdateData()崩溃了
- Invalidate只是在消息泵生成下一个WM_PAINT消息时重新显示内容。
- 如果你在对话框本身上调用Invalidate,当你没有定义WS_CLIPCHILDREN时,对话框的背景和所有子框都会被背景刷覆盖。
如果你想强制立即重绘所有减少闪烁的窗口,在对话框中定义WS_CLIPCHILDREN并使用带有RDW_UPDATENOW RDW_ALLCHILDREN的RedrawWindow。当编辑控件被更改时,它们将立即重新显示。
但是每秒更新10次控件可能不是使用UI通知用户的好方法。
顺便说一句:当UpdateData崩溃时,你的程序中有一个巨大的错误。你应该把它修好。UpdateData不会立即重新显示编辑和静态信息
相关文章:
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 无法访问嵌套类.类的使用无效
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- 如何解决错误:SCIP C++中的 SCIP 阶段无效 <10>
- 在没有参数列表的情况下使用模板名称"Event"无效,模板问题
- 处理闪烁窗口事件
- FFMPEG配置文件级别id大小无效
- 错误:从"int"到枚举c++的转换无效
- 如何修复此错误:className::className的无效使用
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- C++-模板嵌套类的引用初始化无效
- 错误:无效的预处理指令 #i 的意思是 #if?
- 多维数组 C++ 中数组下标的类型"int[int]"无效
- 在 C++ 中使用正则表达式错误时出现问题 括号表达式中的范围无效
- 如何避免LED在循环状态变化中闪烁?
- 从 'int' 到 'int*' CPP 的转换无效
- 如何接受 [ENTER] 键作为无效输入并发送错误消息
- 由于无效的 ValidateRgn() 子窗口不会收到WM_PAINT消息
- C++ PTHREADS - 无效转换无效*(*)()到无效*(*)(无效*)
- windows mfc对话框闪烁在无效