方法1:修改OnPrepareDC函数
pDC->SetMapMode(MM_ANISOTROPIC);
CSize size=CSize(800,560);
pDC->SetWindowExt(size); //设定窗口大小
//得到打印机每逻辑英寸的像素数量
int xLogPixPerInch=
pDC->GetDeviceCaps(LOGPIXELSX);
int yLogPixPerInch=
pDC->GetDeviceCaps(LOGPIXELSY);
//得到设备坐标和逻辑坐标的比例
long xExt=(long)size.cx*xLogPixPerInch/96;
long yExt=(long)size.cy*yLogPixPerInch/96;
pDC->SetViewportExt((int)xExt,(int)yExt);
//设定视口大小
方法2:修改OnPrint函数
pDC->SetMapeMode(LOMETRIC)
nSizeX=GetDeviceCaps(HORZSIZE)
nSizeY=GetDeviceCaps(VERTSIZE)
//获得物理宽度
nSizeX=nSizeX/0.1
nSizeY=nSizeY/0.1
然后就可以在使用pDC在nSizeX上面画图
博客介绍了两种修改打印机绘图模式的方法。方法一是修改OnPrepareDC函数,通过设置映射模式、窗口大小、获取打印机像素数量及坐标比例、设定视口大小来实现;方法二则是修改OnPrint函数,通过设置映射模式和获取物理宽度来操作。
2605

被折叠的 条评论
为什么被折叠?



