▲ 效果
在 OnDraw
函数中:
// CMFCApplication1View 绘图
void CMFCApplication1View::OnDraw(CDC* pDC)
{
CMFCApplication1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
/*
a) 定义画家
b) 定义画笔(画刷)CPen, CBrush
c) 把画笔交给画家 CDC::SelectObject
*/
CPen pen(PS_DASH, 1, RGB(255, 0, 0));
CPen* oldPen = pDC->SelectObject(&pen);
pDC->MoveTo(10, 10);
pDC->LineTo(120, 10); // 画直线
// 恢复原来的状态
pDC->SelectObject(oldPen);
// 画圆
pDC->Ellipse(20, 20, 120, 120); // 参数的意思是,外接四边形的左上角点和右下角点
// 画刷
CBrush brush(RGB(255, 0, 0));
pDC->SelectObject(&brush);
pDC->Ellipse(20, 20, 120, 120);
// 定义一个位图对象
CBitmap bitmap;
bitmap.LoadBitmapW(IDB_BITMAP1);// 资源的ID 加载位图
CBrush brush2(&bitmap);
pDC->SelectObject(&brush2);
pDC->Ellipse(120, 20, 240, 120);
// CFont 字体
CFont font;
// 1000:字体宽度 0.1 倍 TEXT("楷体"):字体风格
font.CreatePointFont(1000, TEXT("楷体"));
pDC->SelectObject(&font);
pDC->TextOutW(15, 150,TEXT("Hello World~"));
}
标签:MFC,20,SelectObject,font,用法,120,绘图,bitmap,pDC
From: https://www.cnblogs.com/huvjie/p/17985691