void CDrawTrendDlg::OnBtnQuery() {
Sleep(60*1000); //去除后,影像正常顯示
// MessageBox("!"); //加上messagebox后,影像正常顯示
// RedrawWindow(); //無影響
CStatic* pDraw = (CStatic*)GetDlgItem(IDC_TREND_LINE);
// pDraw->RedrawWindow(); //無影響
CClientDC* pDC = new CClientDC(pDraw);
CRect rect;
pDraw->GetClientRect(&rect);
rect.bottom -= 20;
rect.left += 20;
pDC->MoveTo(rect.left, rect.bottom);
pDC->LineTo(rect.right, rect.bottom);
//箭頭添加
pDC->MoveTo(rect.right-5, rect.bottom-5);
pDC->LineTo(rect.right, rect.bottom);
pDC->LineTo(rect.right-5, rect.bottom+5);
pDC->MoveTo(rect.left, rect.bottom);
pDC->LineTo(rect.left, rect.top);
//箭頭添加
pDC->MoveTo(rect.left-5, rect.top+5);
pDC->LineTo(rect.left, rect.top);
pDC->LineTo(rect.left+5, rect.top+5);
//自定義坐標系
pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetViewportOrg(rect.left, rect.bottom);
pDC->SetWindowExt(5, rect.Height());
pDC->SetViewportExt(rect.Width(), -rect.Height());
pDC->MoveTo(0, 0);
int xhor;
double yver;
int m = 100;
pDC->MoveTo(0, 0);
for(int i = 1; i <= 4; ++i)
pDC->LineTo(i, m+i*20);
}
上述代碼除錯時,影像也可正常顯示,但運行時卻無影像顯示,這是什么原因導致的呢,懇請各位大神指教?
uj5u.com熱心網友回復:
懇請各位大俠不吝賜教uj5u.com熱心網友回復:
為什么沒人回答啊
uj5u.com熱心網友回復:
什么情況下呼叫?呼叫的頻率是多少?哪些執行緒呼叫?uj5u.com熱心網友回復:
CClientDC* pDC = new CClientDC(pDraw);你 new 了,你 delete 了嗎??
uj5u.com熱心網友回復:
只有一個主執行緒
uj5u.com熱心網友回復:
這里我只復制了一部分代碼,不好意思漏掉了。 顯示與delete沒關系吧
uj5u.com熱心網友回復:
可能是繪圖時間太長。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/146042.html
