请问如何设置系统默认打印机的当前纸张类型 win2000报表有A4,A3,自定义大小等多种纸张的格式 偶想在打印前 给系统默认打印机的纸张类型更改成偶想要的不知道如何做 自定义的纸张偶已经加倒打印服务器里了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var Device : array[0..cchDeviceName-1] of Char; Driver : array[0..(MAX_PATH-1)] of Char; Port : array[0..32]of Char; hDMode : THandle; pDMode : PDevMode;...//-------------------------------------自定义纸张----------------------------------- Printer.GetPrinter(Device,Driver,Port,hDMode); // 获取打印机DevMode结构的句柄值,存放在hDMode中 if hDMode <> 0 then begin pDMode := GlobalLock(hDMode); // 获取指向打印机DevMode结构的//指针 if pDMode <> nil then begin pDMode^.dmPaperSize := 256; // 如果要将当前打印机纸张变为自定义‘dmPaperSize’必须设置成256 pDMode^.dmPaperLength := zg; // 自定义长 A4 pDMode^.dmPaperWidth := zk; // 自定义宽度 pDMode^.dmFields := pDMode^.dmFields or DM_PAPERSIZE; pDMode^.dmFields := pDMode^.dmFields or DM_PAPERLENGTH; pDMode^.dmFields := pDMode^.dmFields or DM_PAPERWIDTH; //以上三条语句是对相应的dmFields成员进行置位。 ResetDC(Printer.Handle,pDMode^); // 设置打印机设备环境句柄的值 GlobalUnlock(hDMode); end; end;//------------------------------------打印初始化----------------------------------------------------- PointX:=Trunc(GetDeviceCaps(Printer.Handle,LOGPIXELSX)/2.54); PointY:=Trunc(GetDeviceCaps(Printer.Handle,LOGPIXELSY)/2.54); //根据打印机和屏幕的分辨率计算出从屏幕转换到打印机的比例 PointScale:=Trunc(GetDeviceCaps(Printer.Handle,LOGPIXELSX)/Screen.PixelsPerInch+0.5); printer.canvas.font.name:='黑体'; printer.canvas.font.size:=16; s:='aaaa'; PrintStep:=printer.canvas.TextHeight(s)+16; TCompanent构造函数,函数体什么样子??? 马上周末了,散点分 大家看看这段代码错在哪里? 怎么可以知道一个文本的内容变化了呢? TStringGrid??? 关于Dll! 请问一个菜鸟问题:match为结构体类型,他的数组可以这样定义么? 各位请帮忙! 请教各路大侠,我现在有两个一样的.ini文件,但不同目录,想问一下在Delphi中文件拷贝怎样实现? delphi高手们,能交个朋友吗?QQ:78615919 祭奠亡兄,特撒1000分,进者有分! 转换问题
Device : array[0..cchDeviceName-1] of Char;
Driver : array[0..(MAX_PATH-1)] of Char;
Port : array[0..32]of Char;
hDMode : THandle;
pDMode : PDevMode;
...
//-------------------------------------自定义纸张-----------------------------------
Printer.GetPrinter(Device,Driver,Port,hDMode); // 获取打印机DevMode结构的句柄值,存放在hDMode中
if hDMode <> 0 then begin
pDMode := GlobalLock(hDMode); // 获取指向打印机DevMode结构的//指针 if pDMode <> nil then begin
pDMode^.dmPaperSize := 256; // 如果要将当前打印机纸张变为自定义‘dmPaperSize’必须设置成256
pDMode^.dmPaperLength := zg; // 自定义长 A4
pDMode^.dmPaperWidth := zk; // 自定义宽度
pDMode^.dmFields := pDMode^.dmFields or DM_PAPERSIZE;
pDMode^.dmFields := pDMode^.dmFields or DM_PAPERLENGTH;
pDMode^.dmFields := pDMode^.dmFields or DM_PAPERWIDTH; //以上三条语句是对相应的dmFields成员进行置位。
ResetDC(Printer.Handle,pDMode^); // 设置打印机设备环境句柄的值
GlobalUnlock(hDMode);
end;
end;
//------------------------------------打印初始化-----------------------------------------------------
PointX:=Trunc(GetDeviceCaps(Printer.Handle,LOGPIXELSX)/2.54);
PointY:=Trunc(GetDeviceCaps(Printer.Handle,LOGPIXELSY)/2.54); //根据打印机和屏幕的分辨率计算出从屏幕转换到打印机的比例
PointScale:=Trunc(GetDeviceCaps(Printer.Handle,LOGPIXELSX)/Screen.PixelsPerInch+0.5);
printer.canvas.font.name:='黑体';
printer.canvas.font.size:=16;
s:='aaaa';
PrintStep:=printer.canvas.TextHeight(s)+16;