MFC DrawTest

来源:互联网 发布:java断点续传上传例子 编辑:程序博客网 时间:2024/05/17 04:35
void CDrawtsetView::OnDraw(CDC* pDC){CDrawtsetDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);if (!pDoc)return;// TODO: add draw code for native data hereint i, y;CString s;TEXTMETRIC tm;CRect rc, rcClip;//  Set rectangle pen/brushesCPen pen(PS_SOLID, 1, RGB(164, 164, 164));  // Pen 是用来画线条的CPen *pOldPen = pDC->SelectObject(&pen);CBrush brOdd(RGB(164, 255, 255));CBrush brEven(RGB(255, 255, 255));CBrush *pOldBrush = pDC->GetCurrentBrush();pDC->SetTextColor(RGB(255, 0, 0)); // 改变文字的颜色// Set fontCFont font;font.CreateStockObject(DEFAULT_GUI_FONT);  // 获取一个Windows标准的预定义画笔、画刷或字体的句柄 CFont *pOldFont = pDC->SelectObject(&font);// Set bkModeint nBkMode = pDC->SetBkMode(TRANSPARENT); // Get line heightpDC->GetTextMetrics(&tm);int nLineHeight = tm.tmHeight + tm.tmExternalLeading;// Get clipping rectanglepDC->GetClipBox(&rcClip);// Draw contentfor (i = y = 0; y < rcClip.bottom; i++, y += nLineHeight){s.Format("This is line %d.", i + 1);rc.SetRect(rcClip.left, y, rcClip.right, y + nLineHeight + 1);pDC->SelectObject( (i & 1) ? &brOdd : &brEven);pDC->Rectangle(&rc);pDC->TextOut(4, y, s, s.GetLength());}// restore DCpDC->SelectObject(pOldBrush);pDC->SetBkMode(nBkMode);pDC->SelectObject(&pOldPen);pDC->SelectObject(&pOldFont);}

原创粉丝点击