QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:24 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>因网上只有Delphi例子本人在用CB编写时发现有一些例子不能用, : n- Y% H8 S% \) y. m) j; Z
所以一生气就索性查了查资料自己写了,怕网友们在用编程时也遇见此类情况, 7 |: F$ u5 J2 P6 E' r4 n* L& {
就马上传了上来。 </P>
: D+ N/ G7 a; D7 b1 K<>void __fastcall TForm1::BitBtn1Click(TObject *Sender)
0 C. H0 ]0 z. Q, ~' `. L0 b0 {: N{
+ k% i; ~3 g/ W' j5 s# Kchar *ADevice, *ADriver, *APort;
$ S  ~6 V- h9 U5 hTHandle DeviceMode;
+ t! y" p2 E8 I% b. TPDeviceMode DevMode; # v( r6 ^; S2 P6 Y  l! r
int length,width;
* H8 x* d5 ^" V5 p( ~& {5 Q  length=1400;
9 i( C1 S9 y& c, Y1 h) v+ ]  width=2410;//设定自定义纸张的尺寸单位为0.1毫米 5 s; c0 [3 F( v. Y! l# a, M& F
  ADevice =new char[100];
! A; t# I" m/ t  ADriver =new char[100];
6 R6 a% n3 E$ u, e$ K. Z  APort =new char[100]; 5 P6 F/ e( o1 V, b4 W4 {& R" y5 G
  //获取打印机
# I$ X- G" q% ^# S8 y% e0 H  x) d  Printer()-&gt;GetPrinter(ADevice, ADriver, APort,DeviceMode); 4 g8 w) Z, ^+ X- \3 a
  //获取PDevMode结构 : p5 H5 b: w7 g! N
  DevMode =(_devicemodeA*) GlobalLock((void *)DeviceMode);
$ v% T/ M7 r/ Q# v" k, A. @- X  //设定可以修改的值 0 Y6 s' W3 [6 x2 u8 p1 E5 V
  DevMode-&gt;dmFields = DevMode-&gt;dmFields|DM_PAPERSIZE; : G9 T; s- C' I0 w9 }
  DevMode-&gt;dmFields = DevMode-&gt;dmFields|DM_PAPERLENGTH;
7 k% G/ ^! m. C* h. c. O& ^  DevMode-&gt;dmFields = DevMode-&gt;dmFields|DM_PAPERWIDTH; 1 L0 y) J5 V- c
  //设定要修改的值 % I! c3 b: V7 G0 n0 ]7 o( n% q
  DevMode-&gt;dmPaperSize=DMPAPER_USER;//设为自定义纸张
% y2 r4 l; {- [" N  DevMode-&gt;dmPaperLength=length;
2 Z/ p- ?$ h- d7 M0 O/ ]  DevMode-&gt;dmPaperWidth=width; </P>
: D, V* l& w& M<>  //测试打印 " s9 X8 x8 U0 A# B
  Printer()-&gt;BeginDoc(); & A% n! K2 O0 X% \; B- w
  TextOut(Printer()-&gt;Handle, 0, 0, "-----------------",17); ; c: o' ?2 M/ Y
  Printer()-&gt;NewPage();
1 E, l9 p9 Y* ~, ]0 Q+ L) k+ z  TextOut(Printer()-&gt;Handle, 0, 0, "++++++++++++++++++",18); " J' O3 Y7 O& V$ C4 n" x( g7 t
  Printer()-&gt;NewPage();
+ z6 t7 R) y1 X) J0 C* E  Printer()-&gt;EndDoc();
# p# C( |9 F9 [, ~} </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-4-21 04:20 , Processed in 0.409870 second(s), 52 queries .

回顶部