程序在窗体上 显示的挺大,可是在打印机上打出时,却变得很小了?好像有什么比例?
这个该怎么算呢?期待高手回答

解决方案 »

  1.   

    映射坐标:
    SetMapMode(hPrintDC, MM_ANISOTROPIC);
    SetWindowExtEx(hPrintDC, WinWidth, WinHeight, 0);
    SetViewportExtEx(hPrintDC, ViewWidth, ViewHeight, 0);
    WinWidth, WinHeight是你的窗口大小(就是屏幕的象素,用GetWindowRect可以获得)
    ViewWidth, ViewHeight是打印机窗口,打印机的的象素密度大约为显示屏的6.25倍,所以,你可以先这样试试:
    SetViewportExtEx(hPrintDC, WinWidth * 6.25, WinHeight * 6.25, 0);
    实际实用中,应该向打印机获取其属性,函数为GetDeviceCaps,具体看MSDN。