QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 14204|回复: 0
打印 上一主题 下一主题

C++Builder编程中动态更改自定义打印纸张

[复制链接]
字体大小: 正常 放大
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:24 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>因网上只有Delphi例子本人在用CB编写时发现有一些例子不能用, 6 A7 ]3 o; s8 t* F
所以一生气就索性查了查资料自己写了,怕网友们在用编程时也遇见此类情况,
  L( T3 H) O9 Z就马上传了上来。 </P>
  r8 E) b% x7 ^; ~<>void __fastcall TForm1::BitBtn1Click(TObject *Sender)
) E- u4 C. H& A7 L, m) Z{ 2 _6 B& h/ A# u; L3 s
char *ADevice, *ADriver, *APort;
: b5 f$ t9 G0 S# n3 P& PTHandle DeviceMode;
3 t/ y( x& o9 ^2 x2 sPDeviceMode DevMode;
" x3 x# A: r! `; w6 Iint length,width;
! p& K8 w: {! X# u7 x  length=1400; 4 q6 M4 g7 Y& h" M
  width=2410;//设定自定义纸张的尺寸单位为0.1毫米 9 s+ i: ?: _- _" |1 s9 H$ ?( `- M
  ADevice =new char[100];
2 D6 R/ y5 J# |* L( E8 \  ADriver =new char[100]; 7 t# K; @7 p$ V3 Z8 B; V) g
  APort =new char[100];
- T! m+ y" p$ S* p1 ?3 O  //获取打印机
: h6 x7 d3 g/ r9 a. l  Printer()-&gt;GetPrinter(ADevice, ADriver, APort,DeviceMode); 6 x* F" Y; L6 T; j( |) m: |
  //获取PDevMode结构
; g4 y- ]: j. u% s! @0 k% i  DevMode =(_devicemodeA*) GlobalLock((void *)DeviceMode);
# I( i. F% r; c3 Z  //设定可以修改的值
1 W8 Z6 R, k. j' T) {  DevMode-&gt;dmFields = DevMode-&gt;dmFields|DM_PAPERSIZE;
# q1 {% a5 f$ x! o2 V  DevMode-&gt;dmFields = DevMode-&gt;dmFields|DM_PAPERLENGTH;
) R1 _2 S% @. g! S/ l( ?  DevMode-&gt;dmFields = DevMode-&gt;dmFields|DM_PAPERWIDTH;
9 x" C5 b! T1 L- E) ~' E  //设定要修改的值
! w- o3 ~9 ^# V( U$ t  DevMode-&gt;dmPaperSize=DMPAPER_USER;//设为自定义纸张 9 t4 b4 T& ?! Y: c- w% K
  DevMode-&gt;dmPaperLength=length;
8 U' V( q1 H; q+ t3 m# t# m5 R  DevMode-&gt;dmPaperWidth=width; </P>
! S  |/ ~3 t8 i3 [4 N<>  //测试打印 % N" q% ?3 \1 v* t+ k
  Printer()-&gt;BeginDoc();
( i7 f8 B8 N) g9 H  TextOut(Printer()-&gt;Handle, 0, 0, "-----------------",17);
% A) g$ u3 G# V9 L) Q/ q  Printer()-&gt;NewPage();
1 y7 H! f' g4 j- t0 c) Y# z  TextOut(Printer()-&gt;Handle, 0, 0, "++++++++++++++++++",18); * N# k" N- K$ v8 ?! Z/ _3 M
  Printer()-&gt;NewPage();
. U" K# ~% \+ Z3 i2 j1 ^' E. F  Printer()-&gt;EndDoc();
' k1 L7 V; d: d$ m2 I: ^( o- l} </P>
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-8-9 04:53 , Processed in 1.198841 second(s), 52 queries .

回顶部