我已经获取了打印机的DC我这样做了初始化: m_DC.SetMapMode(MM_ISOTROPIC);
CSize size = CSize(140, 120); m_DC.SetWindowExt(size); //得到实际设备每逻辑英寸的象素数量
int xLogPix = m_DC.GetDeviceCaps(LOGPIXELSX);
int yLogPix = m_DC.GetDeviceCaps(LOGPIXELSY);
//得到设备坐标和逻辑坐标的比例
int xExt = size.cx * xLogPix/72;
int yExt = size.cy * yLogPix/72;
//确定视口大小
m_DC.SetViewportExt(xExt,yExt); 按理说当我在运用的时候
CRect rect(0, 0, 139, 119);
m_DC.LPtoDP(&rect);
m_DC.Rectangle(&rect);这样能绘制一个全屏的矩形,现在的问题是这矩形太大,大过了纸张.纸张设置140*120毫米..且m_Dc.GetDeviceCaps(HORZSIZE)等已经得到了正确的纸张...我想请问一下各位,这问题出在哪里了?
没用MFC框架的打印.
CSize size = CSize(140, 120); m_DC.SetWindowExt(size); //得到实际设备每逻辑英寸的象素数量
int xLogPix = m_DC.GetDeviceCaps(LOGPIXELSX);
int yLogPix = m_DC.GetDeviceCaps(LOGPIXELSY);
//得到设备坐标和逻辑坐标的比例
int xExt = size.cx * xLogPix/72;
int yExt = size.cy * yLogPix/72;
//确定视口大小
m_DC.SetViewportExt(xExt,yExt); 按理说当我在运用的时候
CRect rect(0, 0, 139, 119);
m_DC.LPtoDP(&rect);
m_DC.Rectangle(&rect);这样能绘制一个全屏的矩形,现在的问题是这矩形太大,大过了纸张.纸张设置140*120毫米..且m_Dc.GetDeviceCaps(HORZSIZE)等已经得到了正确的纸张...我想请问一下各位,这问题出在哪里了?
没用MFC框架的打印.
解决方案 »
- MFC Clistctrl控件 ADO连接sql server2005 出现runtime error!!
- directshow编程中的一个问题
- 怎样获得当前活动的窗口的句柄?
- 关于如何在类向导里看不到消息时的处理!!!
- [请高手看进来]关于wave_form device interface
- 如何在VC中POST一个SSL加密的请求???
- 大家认为在学习过程中是看电子档的技术书好,还是看传统的纸做的书好???
- Loadlibrary报1114错误,Depends已确认没有缺失DLL, 求解原因
- 人民币请高手解决一个问题(关于隐藏网页点击链接的问题)
- VC/MFC从串口中读取许多组数,怎样筛选其中的某几组数据
- VC中CDatabase、CRecordset如何实现数据库的操作?
- 如何模拟http流量,C语言
m_DC.SetMapMode(MM_ANISOTROPIC);
m_DC.SetMapMode(MM_LOMETRIC); // 0.1MM每单位
CSize size = CSize(1400, 1200);
有了m_DC.SetMapMode(MM_LOMETRIC);
那还要m_DC.SetMapMode(MM_ISOTROPIC);这个呢?
等我试试..先谢了!