怎么在打印时弹类似Word里一样的打印机设置对话…… 用Printers类的方法控制打印,在Printer.BeginDoc之前要求像Wrod里打印文档时一样弹出打印机设置对话框,可以在这对话框里面选择打印机、纸张大小等。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TPrinterSetupDialog 不就得了?如果需要做特殊的打印控制 自己搭打印设置窗体,根本上就是设置TPrinter的属性 如果需要做特殊的打印控制 继承TPrinterSetupDialog也行的 TPrinterSetupDialog就行了,其实用它设置的还是TPrinter。 我用以下方法,改变字体没有用var Pd : TPrintDlg; DocInfo: TDocInfo; vc: TCanvas; sText: String;begin sText := 'What can i do?'; FillChar(Pd, sizeof(Pd), #0); Pd.lStructSize := sizeof(Pd); Pd.hWndOwner := Form1.Handle; Pd.Flags := PD_RETURNDC; if PrintDlg(pd) then begin FillChar(DocInfo, sizeof(DocInfo), #0); DocInfo.cbSize := SizeOf(DocInfo); GetMem(DocInfo.lpszDocName, 32); GetMem(DocInfo.lpszOutput, MAX_PATH); vc := TCanvas.Create; vc.Handle := Pd.hDC; vc.Font.Name := 'Arial'; vc.Font.Size := 24; vc.Font.Style := [fsBold]; StartDoc(vc.Handle, DocInfo); StartPage(vc.Handle); TextOut(vc.Handle, 50, 50, PChar(sText), Length(sText)); EndPage(vc.Handle); EndDoc(vc.Handle); vc.Free; end;end; 原始方法:取得当前打印机的TDeviceMode结构指针TDeviceMode结构包含了打印机驱动程序的初始化信息和数据环境然后通过设置TDeviceMode.dmFields来设置各项打印参数 shellexecute(handle,'open','rundll','shell32.dll,shhelpshortcuts_rundll addprinter','',sw_shownormal); To delphiseabird(沙鸥) :能否说清楚一点,谢谢!! 我用fastreport,反正自己不写那玩意儿,标准的东东。、 请问代码表的设计需要注意什么地方呢? 在socket通信中,如何同时监听多个端口? 急!!!求简单倒计时代码!!!多谢多谢!!!! 请帮我看看那里错了??是不是AT命令设置的手机不行啊? 菜鳥求助。快來搶分啊,在線等。 int型4位的最大数是多少? 狂简单的问题,如何读取某文件的指定行?? 金山毒霸升级的注册码。。。。。。。 救急:后台用COM+的网页点击小于50次就出现500内部服务器错误!!! 为什么不能使用显示.jpg格式的文件 简单的窗体问题...... 换行
Pd : TPrintDlg;
DocInfo: TDocInfo; vc: TCanvas;
sText: String;
begin
sText := 'What can i do?';
FillChar(Pd, sizeof(Pd), #0);
Pd.lStructSize := sizeof(Pd);
Pd.hWndOwner := Form1.Handle;
Pd.Flags := PD_RETURNDC;
if PrintDlg(pd) then begin
FillChar(DocInfo, sizeof(DocInfo), #0);
DocInfo.cbSize := SizeOf(DocInfo);
GetMem(DocInfo.lpszDocName, 32);
GetMem(DocInfo.lpszOutput, MAX_PATH);
vc := TCanvas.Create;
vc.Handle := Pd.hDC;
vc.Font.Name := 'Arial';
vc.Font.Size := 24;
vc.Font.Style := [fsBold];
StartDoc(vc.Handle, DocInfo);
StartPage(vc.Handle);
TextOut(vc.Handle, 50, 50, PChar(sText), Length(sText));
EndPage(vc.Handle);
EndDoc(vc.Handle);
vc.Free;
end;
end;
取得当前打印机的TDeviceMode结构指针
TDeviceMode结构包含了打印机驱动程序的初始化信息和数据环境
然后通过设置TDeviceMode.dmFields来设置各项打印参数