

如上面兩個圖,改變圓的大小,圖示被覆寫了,怎么樣才能在改變圓大小只出現一個圓,圖示又不被覆寫呢??
(大概就是這個意思,見諒。)
uj5u.com熱心網友回復:
將所有繪圖操作放在OnDraw中。uj5u.com熱心網友回復:
雙緩沖繪圖 記憶體中繪好 貼到界面 繪圖操作在OnPaint里面完成uj5u.com熱心網友回復:
Ellipse 之前 選入一個慷訓刷 或者是 背景色的畫刷
void CSDI2View::OnDraw(CDC* pDC)
{
CSDI2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
int nSaveDC = pDC->SaveDC();
//背景透明
int nBkMode = pDC->SetBkMode(TRANSPARENT);
//設定字體顏色
COLORREF txColorSave = pDC->SetTextColor(RGB(255, 0, 0));
//創建&選入字體
CFont mFont;
mFont.CreatePointFont(240, _T("Arial"));
CFont *pOldFont = pDC->SelectObject(&mFont);
CString sText = _T("Test Ellipse");
pDC->TextOut(10, 10, sText);
//選入慷訓刷
CBrush *pOldBrush = (CBrush *)pDC->SelectStockObject(NULL_BRUSH);
//選入畫筆
CPen pen(PS_SOLID, 1, RGB(0, 0, 255));
CPen *pOldPen = pDC->SelectObject(&pen);
pDC->Ellipse(0, 0, 100, 100);
//恢復畫筆
pDC->SelectObject(pOldPen);
//恢復畫刷
pDC->SelectObject(pOldBrush);
//恢復字體
pDC->SelectObject(pOldFont);
//恢復字體顏色
pDC->SetTextColor(txColorSave);
//恢復背景模式
pDC->SetBkMode(nBkMode);
pDC->RestoreDC(nSaveDC);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/105265.html
標籤:基礎類
下一篇:求助 c語言 出錯 error C2143: syntax error : missing ';' before 'type'
