编写打印程序如下:
CddddDoc::CNetManageDoc()
{
//设置文档大小
m_sizedoc=CSize(800,900);  
}
void CddddView::OnPrint(CDC* pDC, CPrintInfo* pInfo) 
{
if(pInfo) m_rcPrint=pInfo->m_rectDraw;
CView::OnPrint(pDC, pInfo);
}void CddddView::OnDraw(CDC* pDC)
{
//设模式
pDC->SetMapMode(MM_LOMETRIC);
//设字体
CFont myFont;
myFont.CreateFont(60,0,0,0,FW_HEAVY,FALSE,FALSE,0,ANSI_CHARSET,
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
FF_SWISS|VARIABLE_PITCH,"Arial");
CFont *pOldFont=pDC->SelectObject(&myFont);
//指定输出位置
CRect rect;
if(pDC->IsPrinting())
rect=m_rcPrint;
else
GetClientRect(&rect);

pDC->DPtoLP(&rect);
//输出
outpoint=rect.TopLeft();
if(arrysize!=0)
{
this->OnPrepareDC(pDC);
for(int i=0;i<arrysize;i++)
{
pDC->TextOut(outpoint.x,outpoint.y,pDoc->m_strarry[i]);
outpoint.y-=size.cy;
}
SetScrollSizes (MM_LOMETRIC,CSize(800,size.cy*arrysize));
}
}
问题1、显示正常,但拖动滑块时文字就出现叠影,为什么?
问题2、打印预览时,只在预览页面的左上角一部分区域显示字符串的一部分(显示不全),更改字体大小可使显示字符增多,但预览页面显示区域的大小不变,怎样改变预览页面的显示区域大小呢?
问题已困扰小弟多时,望大家不吝赐教。