小弟初学者,请看一下这段代码,提点意见.这段代码在XP下可以用,打出一个1英寸的正方形,但是98下就打不出来,不知何解? CPrintDialog   mypd(0); // 构造打印设置对话框对象,但不显示   

mypd.GetDefaults();   // 检取缺省打印设备的设备环境   
DEVMODE* dm = mypd.GetDevMode(); // 提取缺省打印机的DEVMODE数据    m_sDriver = mypd.GetDriverName(); // 提取驱动程序名   
m_sPrinter = mypd.GetDeviceName(); // 提取打印机名    CDC   dc;   
dc.CreateDC(m_sDriver,m_sPrinter,"LPT1:",dm); // 用修改过的初始值构造新的DC   
dc.SetMapMode(MM_TWIPS);
static DOCINFO di={sizeof(DOCINFO),"Print",NULL};
dc.StartDoc(&di);
dc.StartPage();
dc.Rectangle(CRect(0,0,1440,-1440));
dc.EndPage();
dc.EndDoc();