首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于RichEdit的打印,该怎么解决

2013-01-05 
关于RichEdit的打印FORMATRANGE frlong lPageWidth ::MulDiv(pDC-GetDeviceCaps(HORZRES),1440,pDC-G

关于RichEdit的打印
FORMATRANGE fr;
long lPageWidth = ::MulDiv(pDC->GetDeviceCaps(HORZRES),1440,pDC->GetDeviceCaps(LOGPIXELSX));
long lPageHeight = ::MulDiv(pDC->GetDeviceCaps(VERTRES),1440,pDC->GetDeviceCaps(LOGPIXELSY));
CRect rcPage(0,0,lPageWidth,-lPageHeight);

long lLeft = ::MulDiv(rcCell.left,lPageWidth,pDC->GetDeviceCaps(HORISIZE)*10);
long lRight = ::MulDiv(rcCell.right,lPageWidth,pDC->GetDeviceCaps(HORISIZE)*10);
long lTop = ::MulDiv(rcCell.top,lPageWidth,pDC->GetDeviceCaps(VERTSIZE)*10);
long lBottom = ::MulDiv(rcCell.bottom,lPageWidth,pDC->GetDeviceCaps(VERTSIZE)*10);
CRect rcc(lLeft, -lTop,lRight ,-lBottom );

fr.hdcTarget = pDC->m_hAttribDC;
fr.hdc = pDC->m_hDC;
fr.rcPage= rcPage;
fr.rc= rcc;
fr.chrg.cpMin = 0;
fr.chrg.cpMax = -1;
long lRes = FormatRange(&fr,TRUE);

这是写在CMyRichEdit的一个自己写的成员函数draw的代码,rcCell是要输出到的矩形框,单位是0.1毫米.但是这个函数最后只能打印第一行,位置和字体大小也不是很对,有谁能帮忙看看有什么错误吗
[解决办法]
用while循环打印就行了

热点排行