我在控件中开了一个线程,然后在线程中想往一个矩形里填充颜色,但是运行的时候,什么都没填充上去,求解答。unsigned __stdcall CActiveXCtrl::ThreadOnDraw(void * pParam)
{
CActiveXCtrl* pThis = reinterpret_cast<CActiveXCtrl*>(pParam);
pThis->m_bOnDrawThreadOn = true;
pThis->NewBrush.CreateSolidBrush(RGB(100,100,100));
int i = 0;
while(pThis->m_bOnDrawThreadOn)
{
::GetWindowRect(pThis->hWnd, &pThis->ret);
CDC* dc = pThis->GetDC();
CRect rt;
rt.left = pThis->ret.left;
rt.top = pThis->ret.top;
rt.bottom = pThis->ret.top + 240;
rt.right = pThis->ret.left + 320;
dc->FillRect(&rt,&pThis->NewBrush); Sleep(100);
} _endthreadex(0);
return 0;
}
{
CActiveXCtrl* pThis = reinterpret_cast<CActiveXCtrl*>(pParam);
pThis->m_bOnDrawThreadOn = true;
pThis->NewBrush.CreateSolidBrush(RGB(100,100,100));
int i = 0;
while(pThis->m_bOnDrawThreadOn)
{
::GetWindowRect(pThis->hWnd, &pThis->ret);
CDC* dc = pThis->GetDC();
CRect rt;
rt.left = pThis->ret.left;
rt.top = pThis->ret.top;
rt.bottom = pThis->ret.top + 240;
rt.right = pThis->ret.left + 320;
dc->FillRect(&rt,&pThis->NewBrush); Sleep(100);
} _endthreadex(0);
return 0;
}
解决方案 »
- COM如何使用消息映射
- 我们为什么要结婚?(下)-这篇文章很长,感慨很多,不喜勿入。【转帖,撒分】
- RichEdit控件问题
- MFC对话框 坐标
- 如何在CScrollView中实现MM_ISOTROPIC模式下图形(绘图)的滚动
- WaitForSingleObject问题
- 在将VC配置为UNICODE环境后,编译通过,但LINK总通不过,请教大虾如何处理?
- 绘制图形的问题:如何才能选中俩个相交的直线.
- CSemaphore/CMutex/CCriticalSection/CEvent之间有什么区别
- AVIcap 能不能实现 video stream 的远程传输?请教高手!
- SetWindowPos 对话框
- ************MFC ActiveX控件问题**************
你可以在线程中改变控制绘制颜色的变量
然后发消息让主窗口更新