双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

我用截屏截取了屏幕的一部分再内存DC中,现在我要把他打印出来应该怎么做呀???进来的都有分

962veiri 962veiri 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的代码如下
CRect rect;
m_Chart1.GetClientRect(&rect);//m_Chart1是我要打印的控件

CDC memDC,memDC1;
CClientDC srcDC(this);
CBitmap Srcbmp;
memDC.CreateCompatibleDC(&srcDC);
Srcbmp.CreateCompatibleBitmap(&srcDC,rect.Width(),rect.Height());

CBitmap *pOld=memDC.SelectObject(&Srcbmp);
memDC.BitBlt(0,0,rect.Width(),rect.Height(),&srcDC,0,0,SRCCOPY);
memDC.SelectObject(pOld);

CDC dc;
CPrintDialog dlg(false);
if(dlg.DoModal()!=IDOK)
return;
else
dc.Attach(dlg.GetPrinterDC());
memDC1.CreateCompatibleDC(&dc);
CBitmap *pOld1=memDC1.SelectObject(&Srcbmp);

CRect rect1;
GetClientRect(&rect1);


dc.StartDoc("test");
dc.StartPage();
dc.StretchB(rect1.left,rect1.top,rect1.right,rect1.bottom,
&memDC1,0,0,rect.Width(),rect.Height(),SRCCOPY);
//这里为什么打印不出来呀??
dc.EndDoc();

memDC1.SelectObject(pOld1);


谢谢大家!!!
...全文

相关推荐

16*16点阵,液晶取模软件

点阵取模,液晶取模,软件操作简单,可以用来液晶字符取模和图形的取模也可以自定义模型的小,还可以图片取模。

辉煌仪奇

使用MFC库实现屏幕捕捉功能

Microsoft Foundation Classes (MFC) 是一个C++类库,用于简化Windows应用程序的开发。它封装了Windows API,使得开发者能够通过面向对象的方式编写Windows程序。MFC在1992年随Visual C++ 1.0发布,自那时起,它一直是开发Windows桌面应用程序的重要工具。接下来,需要确定想要捕获屏幕的哪一部分。如果是整个屏幕,则可以使用函数获取屏幕的宽度和高度。这段代码将获取屏幕的尺寸,并定义一个矩形区域rect。

好学的Jack

多功能自制截屏工具设计与实现

在现代桌面应用程序中,用户对操作效率的要求越来越高。特别是在截屏工具这类高频交互的轻量级应用中,如何实现快速、无干扰的触发方式成为用户体验的关键因素之一。传统的菜单点击或按钮触发已无法满足高效工作流的需求,而通过全局热键(Global Hotkey)实现一键截图,则是提升响应速度和使用便捷性的核心手段。本章将深入剖析 Windows 平台下全局热键的注册与监听机制,涵盖底层 API 的调用逻辑、消息循环的协同处理、热键冲突规避策略以及跨权限环境下的稳定性保障方案。

知乎机构号团队

Win32 API 打印

重温 Win32 API ----- 截屏指定窗口并打印 http://blog.csdn.net/smstong/article/details/42082039 朋友说在一个VC++6.0开发的项目中要加入打印窗口的功能,让帮忙写个代码供其调用。这么老的IDE当然不想碰了,而且也不喜欢MFC笨拙不清晰的封装,所以决定采用纯Win32 API,然后用C++ 类简单封装一下。

bcbobo21cn

lcd汉字取模软件

自己使用多年,先分享出来,给有需要的朋友。可以生成各种大小如:12*12, 16*16的汉字点阵。

阿甘_84
评论 65
收藏 已收藏
分享
返回顶部
962veiri
VC/MFC 16,551 成员 421,605 内容