高分求高分求“对话框打印”源码,大家帮我看看我的为什么不行?
我建了一个基于对话框的程序,我想点击一个按钮然后就将对话框及其上面的所有东西都打印出来。。。
我的程序如下:可打印出来的结果成为很小的一块,我想这是由于MM_TEXT模式下
Each logical unit is converted to 1 device pixel的关系,然后我试着改了一些其它模式,调整了坐标点,可是,依然不能实现“所见既所得”的效果,
大家认为该怎么办?能给我一份相关源码吗?找了n多地方,可就是找不到怎么做。。,
CRect rect;
GetClientRect(&rect);
CPrintDialog dlgPrint(FALSE,PD_NOPAGENUMS,this);
if (!dlgPrint.GetDefaults ())
return FALSE;
CDC dc;
dc.Attach (dlgPrint.GetPrinterDC ());
DOCINFO di;
ZeroMemory(&di,sizeof(DOCINFO));
di.cbSize = sizeof(DOCINFO);
CPrintInfo pi;
pi.m_rectDraw .SetRect (0,0,rect.Width (),rect.Height ());
StartDoc(dc,&di);
StartPage(dc);
Print(&dc,PRF_OWNED | PRF_CLIENT | PRF_CHILDREN );
EndPage(dc);
EndDoc(dc);
DeleteDC(dc);
关键,怎么才能实现屏幕看到的跟打印机打出来的一样大小?