自定义纸张,预览正常,打印不正常为啥啊?
用 new PrintPreviewDialog()预览,但是点击打印,用虚拟打印机打印出来,为啥还是按照 A4 纸张打印的啊?太郁闷了,还有 PrintPreviewDialog() 对话框为啥,不能没有“调用设置对话框” 按钮,来选择打印机啊? --------------------编程问答-------------------- 只有自己定下了,期待结果 --------------------编程问答-------------------- 帮lz加点人气。。 --------------------编程问答-------------------- procedure TZcPrinter.SetPrinterPaper;begin
FPrinter.GetPrinter(FDevice, FDriver, FPort, FDeviceMode);
try
FMode:=GlobalLock(FDeviceMode);
if FMode<>nil then
begin
if IsCustomSize(FSetPaperSize) then
begin
FMode^.dmFields := FMode^.dmFields or DM_PAPERSIZE;
FMode^.dmPaperSize := DMPAPER_USER;
FMode^.dmFields := FMode^.dmFields or DM_PAPERLENGTH or DM_PAPERWIDTH ;
FMode^.dmPaperWidth:=trunc(FSetPaperWidth); //这个地方是要 0.1mm为基准的数据
FMode^.dmPaperLength:=trunc(FSetPaperHeight);
end else
begin
FMode^.dmFields := FMode^.dmFields or DM_PAPERSIZE;
FMode^.dmPaperSize :=FSetPaperSize;
FMode^.dmPaperWidth:=0;
FMode^.dmPaperLength:=0;
end;
FMode^.dmFields := FMode^.dmFields or DM_ORIENTATION;
FMode^.dmOrientation :=FSetPaperOrient;
if (FSetPaperBin and $FFFF) = $FFFF then
begin
FMode^.dmFields := FMode^.dmFields or DM_DEFAULTSOURCE;
FMode.dmDefaultSource := FSetPaperBin;
end;
end;
finally
GlobalUnlock(FDeviceMode);
end;
end;
=========================================
这个是我delphi写的代码,非常正确,谁能帮我翻译成C#呢? --------------------编程问答-------------------- 顶了啊,使劲的顶啊。 --------------------编程问答-------------------- 顶啊,顶啊顶啊顶啊顶啊顶啊顶啊顶啊 --------------------编程问答-------------------- 预览你系统的正常,打印你开发系统不正常,而且还有就是打印office也正常的情况。
象这些类似的情况,大部分原因是打印驱动没有安装好,你先把打印驱动重新安装下,这个问题基本可以解决的。 --------------------编程问答-------------------- 预览你系统的正常,打印你开发系统不正常,而且还有就是打印office也正常的情况。
象这些类似的情况,大部分原因是打印驱动没有安装好,你先把打印驱动重新安装下,这个问题基本可以解决的。
补充:.NET技术 , C#