- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 CStatic 控件,我想在运行时设置其文本(计算斐波那契数)
Class TXT:public CStatic
{
private:
CString m_str;
public:
SetText(const CString& str)
{
m_str=str;
RedrawWindow();
}
////other methods OnPaint etc
}
//someclass that contains
{
////....
TXT m_res;
///....
}
UINT threadProc(LPVOID lp)
{
//computing Fibonacci
p->m_res.SetText("resultTXT");
}
我的问题是输出字符串结果相互覆盖;一旦有新的输出,文本就不会被删除。
我还应该做什么来解决这个问题?
最佳答案
我的猜测是,您正在主线程(GUI 线程)中创建窗口,然后从工作线程调用该窗口上的函数。这将违反规则,因为窗口与创建它们的线程具有亲和性。
确保所有使用窗口句柄的 API 调用都是从主线程进行的。请注意,SendMessage()
调用被编码到正确的线程上,但无论如何,出于性能原因,它们也最好从主线程发送。
关于c++ - 正在运行的线程中的 cstatic 控件的 Redrawwindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6922664/
作为一名使用从 CWnd 继承的自定义类构建 Custome Splitter Wnd 的开发人员。最初,屏幕有一个窗口(自定义类 - CTile),它有两个按钮(垂直 - 拆分,水平 - 拆分)。当
我有一个 CStatic 控件,我想在运行时设置其文本(计算斐波那契数) Class TXT:public CStatic { private: CString m_str; publ
当我想重绘一个窗口时,在 InvalidateRect 和 RedrawWindow 之间有什么首选的函数可以调用吗? 例如,这两个调用是否相等:(win 将是 HWND) RedrawWindow(
我正在使用标准 Windows API 用 C++ 编写应用程序。它使用按钮进行一些简单的注册表修改。按下按钮时,它会更改显示在底部的标签。要更改它,我需要重新绘制窗口(它会根据需要自动更改标签)。但
Win32下RedrawWindow和UpdateWindow有什么区别? 由于它们似乎具有相同的目的来刷新窗口,那么有什么区别呢? 最佳答案 RedrawWindow 通常用于立即重绘整个窗口(或其
我是一名优秀的程序员,十分优秀!