S
springm
Unregistered / Unconfirmed
GUEST, unregistred user!
套打证明书,用Printer.Canves.TextOut控制输出,打印的证明超出A4纸的范围,有一部分打
不出,可在控制面板的打印下将默认纸设为A3,就可以打印,但为了使用者的方便,还是想在
打印程序中用过程控制,因为现在机关中工作的人太!@#%%^&^&^.在大富翁中有个过程
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;
pDModeDevMode;
begin
Printer.GetPrinter(Device,Driver,Port,hDMode);
if hDMode<>0 then
pDMode:=GLobalLock(hDMode);
if pDMode<>nil then
begin
pDMode^.dmPaperSize:=256;//改为0也不行
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 Printerdo
begin
begin
Doc;
Canvas.TextOut(10,10,'fkgfjhg');
EndDoc;
end;
end;
在NT下无效,dmPaperSize:=256或dmpapersize:=0都没用!!
希望能获取在NT下控制打印的过程!!!希望大家能帮助小弟,这关系着月初发M的问题!!
不出,可在控制面板的打印下将默认纸设为A3,就可以打印,但为了使用者的方便,还是想在
打印程序中用过程控制,因为现在机关中工作的人太!@#%%^&^&^.在大富翁中有个过程
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;
pDModeDevMode;
begin
Printer.GetPrinter(Device,Driver,Port,hDMode);
if hDMode<>0 then
pDMode:=GLobalLock(hDMode);
if pDMode<>nil then
begin
pDMode^.dmPaperSize:=256;//改为0也不行
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 Printerdo
begin
begin
Doc;
Canvas.TextOut(10,10,'fkgfjhg');
EndDoc;
end;
end;
在NT下无效,dmPaperSize:=256或dmpapersize:=0都没用!!
希望能获取在NT下控制打印的过程!!!希望大家能帮助小弟,这关系着月初发M的问题!!