MFC中对话框使用双缓冲绘图闪烁的有关问题

MFC中对话框使用双缓冲绘图闪烁的问题
在对话框中有一个picture控件,会在该控件上进行画图操作,除picture控件之外,对话框上还有edit控件,用来做结果的显示,是动态刷新的,对话框整体有一个背景
现在我为了保存picture控件中的画图,采用了兼容DC绘图的方式,在OnPaint中对其进行初始化,在每次绘图完成之后,调用StretchBlt使其刷新,picture控件中的图片显示不会闪烁了
对于edit控件的刷新,我用的是InvalidateRect,因为edit控件和picture控件的更新并不是在同一个缓冲区,导致更新的时候,edit控件会出现闪烁,OnEraseBkgnd中我已经返回TRUE啦
请教各位大牛,这种问题应该怎么解决呀

------解决思路----------------------
重复绘制同一个区域就会闪烁 你先想办法避免这个情况的发生
------解决思路----------------------
InvalidateRect不能放在OnPaint()中刷新
------解决思路----------------------
你的问题是edit控件会出现闪烁
你可以通过获取edit的句柄来操作。那就不用刷新了。
对话框句柄->GetDlgItem(编辑框ID)->SetWindowText("数据");
可能要加UpdateData(false);
------解决思路----------------------
线程收到数据缓存,然后发消息到对话框,在消息响应里面操作Edit控件,
也就是线程里面只有pDlg->PostMessage(WM_UPDATE_MESSAGE,0,0);

然后在
LRESULT CUWB_CoordinateDlg::OnUpdateMessage(WPARAM wParam, LPARAM lParam)里面执行
tempStr.Format(_T("%d"),x);
pDlg->GetDlgItem(IDC_Distance1)->SetWindowText(tempStr);
tempStr.Format(_T("%d"),y);
pDlg->GetDlgItem(IDC_Distance2)->SetWindowText(tempStr);
tempStr.Format(_T("%d"),z);
pDlg->GetDlgItem(IDC_Distance3)->SetWindowText(tempStr);
UpdateData(false);
------解决思路----------------------
Edit控件内容不需要使用InvalidateRect刷新吧,CEdit是CWin的派生类,直接使用成员函数写入就已经完成刷新了。
------解决思路----------------------
实在无法避免 可以考虑不用edit控件 直接在你的背景上画edit需要显示的文字