我觉得很疑惑的问题,windows的printer类里面真的没有如何控制页边距的参数??(200分)

G

ggb1999

Unregistered / Unconfirmed
GUEST, unregistred user!
我翻遍了
Windows GDI 里对 DEVMODE 的说明
实在找不到,
看看论坛上,也有无数兄弟为之苦恼,我想能不能下个定论:我们目前搞不定这个东西??
请大家发表意见。
 
var
ADevice,ADriver,APort:string;
ADeviceMode:THandle;
DevMode:pDeviceMode;
Page:TPoint;
begin
DevMode:=GlobalLock(ADeviceMode);
try
DevMode^.dmFields:=DevMode^.dmFields or DM_PaperSize;
DevMode^.dmPaperSize:=?;
DevMode^.dmFields:=DevMode^.dmFields or DM_PaperWidth;
DevMode^.dmPaperWidth:=2090;
DevMode^.dmFields:=DevMode^.dmFields or DM_PaperLength;
DevMode^.dmPaperLength:=?;
finally
GlobalUnlock(ADeviceMode);
end;

照着做
 
是页边距啊,兄弟们
 
用 Dialogs 中的 TPrinterSetupDialog 如何?
 
这个问题真是头大
竟然没有一个建设性的意见
 
我在NT下的解决方法:增加一个纸张类型。
用API函数addForm增加一个纸张类型,这个新的纸张类型可以设定纸张的大小和打印范围
的大小,然后用转来转去的那个SetPaperSize函数,这一下dmPaperSize就行了。
[8D]
 
请大家关注这个问题
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1307249
 
好像没有吧,
你可以手工设置一个左边距,和顶边距等等
在实际打印的时候,每个打印项目的打印位置+左边距和顶边距不就行了
何必拘泥于是否有相应的函数调用来设置页面边距呢!
 
顶部