MFC 简单的绘图用法
▲ 效果
在 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~"));
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了