这里有程序procedure TForm1.Button1Click(Sender: TObject);
var
Device:Array[0..256] of Char;
Driver:Array[0..256] of Char;
Port:Array[0..32] of Char;
hDMode:THandle;
pDMode:PDevMode;
begin
Printer.GetPrinter(Device,Driver,Port,hDMode);
if hDMode<>0 then
pDMode:=GLobalLock(hDMode);
if pDMode<>nil then
begin
pDMode^.dmPaperSize:=256;
pDMode^.dmPaperLength:=1140;
pDMode^.dmPaperWidth:=1900;
pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERSIZE;
pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERLENGTH;
pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERWIDTH;
end;
ResetDC(Printer.Handle,pDMode^);
GLobalUnLock(hDMode);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
With Printer do
begin
BeginDoc;
Canvas.TextOut(10,10,'fkgfjhg');
EndDoc;
end;
end;
打印出来还是A4
是不是在WIN2000中还要设置
打印机是Epson Stylus COLOR 680 ESC/P 2
各位帮帮忙
var
Device:Array[0..256] of Char;
Driver:Array[0..256] of Char;
Port:Array[0..32] of Char;
hDMode:THandle;
pDMode:PDevMode;
begin
Printer.GetPrinter(Device,Driver,Port,hDMode);
if hDMode<>0 then
pDMode:=GLobalLock(hDMode);
if pDMode<>nil then
begin
pDMode^.dmPaperSize:=256;
pDMode^.dmPaperLength:=1140;
pDMode^.dmPaperWidth:=1900;
pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERSIZE;
pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERLENGTH;
pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERWIDTH;
end;
ResetDC(Printer.Handle,pDMode^);
GLobalUnLock(hDMode);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
With Printer do
begin
BeginDoc;
Canvas.TextOut(10,10,'fkgfjhg');
EndDoc;
end;
end;
打印出来还是A4
是不是在WIN2000中还要设置
打印机是Epson Stylus COLOR 680 ESC/P 2
各位帮帮忙
然后在相应的打印机‘属性’里设置纸张大小为刚才自定义的纸张名称即可!
在哪里设置.我在打印机的'打印首选页'的'高级'里的'纸张大小'没有我的定义纸张,而在
文件’菜单下有个‘服务器属性’里的'所有格式'有我的定义纸张.
这是不是我的打印机不支持自定义大小.