这是我的代码:
HDC PrintDC;
DOCINFO docin;
docin.cbSize = sizeof(DOCINFO);
docin.lpszDocName = "TestDoc";
docin.lpszOutput = NULL;
CPrintDialog PrintDialog(TRUE,PD_ALLPAGES|PD_NOPAGENUMS,NULL);
if(!PrintDialog.GetDefaults()) return FALSE;
PRINTDLG *pPrintDlg = &PrintDialog.m_pd;
AfxGetApp()->GetPrinterDeviceDefaults(pPrintDlg);
DEVMODE* lpDevMode = (DEVMODE*)::GlobalLoc(pPrintDlg>hDevMode);
lpDevMode->dmPaperSize=DMPAPER_USER;
lpDevMode->dmPaperLength = 1000; //设定纸长为 3 厘米
lpDevMode->dmPaperWidth = 1200; //设定纸宽为 5 厘米
lpDevMode->dmFields |= DM_PAPERLENGTH|DM_PAPERWIDTH|DM_PAPERSIZE;
PrintDC = PrintDialog.CreatePrinterDC(); // 返回一个打印DC句柄
SetMapMode(PrintDC,3);
ResetDC(PrintDC,lpDevMode);
::GlobalUnlock(pPrintDlg->hDevMode);
int Mode = GetMapMode(PrintDC);
但是Mode怎么是1呀?
HDC PrintDC;
DOCINFO docin;
docin.cbSize = sizeof(DOCINFO);
docin.lpszDocName = "TestDoc";
docin.lpszOutput = NULL;
CPrintDialog PrintDialog(TRUE,PD_ALLPAGES|PD_NOPAGENUMS,NULL);
if(!PrintDialog.GetDefaults()) return FALSE;
PRINTDLG *pPrintDlg = &PrintDialog.m_pd;
AfxGetApp()->GetPrinterDeviceDefaults(pPrintDlg);
DEVMODE* lpDevMode = (DEVMODE*)::GlobalLoc(pPrintDlg>hDevMode);
lpDevMode->dmPaperSize=DMPAPER_USER;
lpDevMode->dmPaperLength = 1000; //设定纸长为 3 厘米
lpDevMode->dmPaperWidth = 1200; //设定纸宽为 5 厘米
lpDevMode->dmFields |= DM_PAPERLENGTH|DM_PAPERWIDTH|DM_PAPERSIZE;
PrintDC = PrintDialog.CreatePrinterDC(); // 返回一个打印DC句柄
SetMapMode(PrintDC,3);
ResetDC(PrintDC,lpDevMode);
::GlobalUnlock(pPrintDlg->hDevMode);
int Mode = GetMapMode(PrintDC);
但是Mode怎么是1呀?
解决方案 »
- DirectDraw画1920*1080位图,内存资源急剧耗尽,程序崩溃。
- 获取CUPID编译出错
- 一个用PB编译生成的可执行程序,为什么在Windwos下能看到程序版本信息,在我的VC++程序中看到的却是乱码?
- 用ATL编写NT Service,在那个地方写初始化代码比较好一点?
- 为什么我这段VC++中内嵌的汇编代码当执行INT 13中断时就出错??
- 我用vc导入active控件中的dbgrid控件,然后。。。。。
- 请教 mciwnd 问题
- 服务器异步WSASend后,不管三七二十一立即主动断开连接,可不可以?
- ???关于《金山词霸》的一个问题,如何实现单词的捕捉?
- 关于UNICODE_STRING
- 关于动态创建数据源
- 如何在visual c++用win32汇编写的dll文件,关键是返回值问题。
#define MM_LOMETRIC 2
#define MM_HIMETRIC 3
#define MM_LOENGLISH 4
#define MM_HIENGLISH 5
#define MM_TWIPS 6
#define MM_ISOTROPIC 7
#define MM_ANISOTROPIC 8默认的MM_TEXT当然是1int SetMapMode(
HDC hdc, // handle of device context
int fnMapMode // new mapping mode
);根据需要改变