我的对话框里面有个STATIC,我用LineTo在它上面画图。
现在需要在特定的时刻把STATIC里面的图清除掉,然后重新画另一种图。
所以我在某个按钮的单击事件里面写了如下代码:HWND hWndStatic;
hWndStatic = ::GetDlgItem(this->m_hWnd,IDC_STATIC_CANVAS); ::InvalidateRect(hWndStatic,NULL,TRUE);
::SetWindowText(hWndStatic,_T("11111111111")); HDC hdc = ::GetDC(hWndStatic);
LineTo(hdc,30,50);
ReleaseDC(hdc);
DeleteDC(hdc);
结果是原来画的东西是没了,“11111111111”也可以显示出来,但画的那条线却看不见,有时候是一闪而过就没了。请问是哪里的问题?
现在需要在特定的时刻把STATIC里面的图清除掉,然后重新画另一种图。
所以我在某个按钮的单击事件里面写了如下代码:HWND hWndStatic;
hWndStatic = ::GetDlgItem(this->m_hWnd,IDC_STATIC_CANVAS); ::InvalidateRect(hWndStatic,NULL,TRUE);
::SetWindowText(hWndStatic,_T("11111111111")); HDC hdc = ::GetDC(hWndStatic);
LineTo(hdc,30,50);
ReleaseDC(hdc);
DeleteDC(hdc);
结果是原来画的东西是没了,“11111111111”也可以显示出来,但画的那条线却看不见,有时候是一闪而过就没了。请问是哪里的问题?
hWndStatic = ::GetDlgItem(this->m_hWnd,IDC_STATIC2);
::InvalidateRect(hWndStatic,NULL,TRUE);
::SetWindowText(hWndStatic,_T("11111111111"));
HDC hdc = ::GetDC(hWndStatic);
LineTo(hdc,0,50);
::ReleaseDC(hWndStatic,hdc);
DeleteDC(hdc);