CRect rect;
//获取显示区域大小(该值为据对坐标,使用时需转换)
GetWindowRect(rect);
rect.SetRect(0, 0, rect.Width(), rect.Height());
//定义一个内存设备描述表对象(即后备缓冲区)
CDC MemDC;
//定义一个位图对象
CBitmap MemBitmap;
//建立与屏幕设备描述表(前端缓冲区)兼容的内存设备描述表句柄(后备缓冲区)
MemDC.CreateCompatibleDC(NULL);
//这时还不能绘图,因为没有位图的设备描述表是不能绘图的
//下面建立一个与屏幕设备描述表(或者内存设备描述表)兼容的位图
MemBitmap.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height());
//将位图选入到内存设备描述表
//只有选入了位图的设备描述表才有地方绘图,画到指定的位图上
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
//先用背景色将位图清除干净,RGB(0,0,0)设置自己的颜色RGB值
MemDC.FillSolidRect(0,0,rect.Width(),rect.Height(),RGB(0, 0, 0));
//MemDC.FillSolidRect(rect, RGB(0, 0, 0));//直接使用rect同可
//使用MemDC绘制自己需要的内容,此处以直线为例
MemDC.MoveTo(0, 0);
MemDC.LineTo(100, 100);
//把内存DC复制到输入DC中
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&MemDC, 0, 0, SRCCOPY);
//绘图完成后的清理
MemBitmap.DeleteObject();
MemDC.DeleteDC();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了