QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:24 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>因网上只有Delphi例子本人在用CB编写时发现有一些例子不能用,
) {& _# A# c. `& `" w所以一生气就索性查了查资料自己写了,怕网友们在用编程时也遇见此类情况,
5 |1 _) V; s8 F, Z9 \% S3 L就马上传了上来。 </P>9 E" }" J6 d1 U
<>void __fastcall TForm1::BitBtn1Click(TObject *Sender) 5 Q+ h# h) C# r' s8 ]( W& Y" ^
{
- O$ S% f' m! m2 }; N" Ichar *ADevice, *ADriver, *APort; 9 P3 e/ m$ Q+ k1 ^/ \! J
THandle DeviceMode;
$ P# A" N0 @7 \' v- QPDeviceMode DevMode;
" |- c9 n  ^$ D0 W' ?6 Dint length,width; : H) v; S6 P5 Y: I5 `3 J
  length=1400;
% m, x/ Y) N7 L" u8 e( X$ y, W  width=2410;//设定自定义纸张的尺寸单位为0.1毫米
3 K  g/ {9 g. I9 r% Z/ G  ADevice =new char[100]; ) ?  R' _  ]8 i+ u
  ADriver =new char[100];
5 {5 Z( T1 l8 L% [" o  APort =new char[100];
0 _! d# \* E; E; W' l! T! o  //获取打印机
$ |  W% ~4 {) K5 f# D1 w9 K# ~7 A$ W" h  Printer()-&gt;GetPrinter(ADevice, ADriver, APort,DeviceMode);
" w& W1 ~- F) ~7 N# P  //获取PDevMode结构
. z' M3 v$ H- P/ w3 {; X' S  k  DevMode =(_devicemodeA*) GlobalLock((void *)DeviceMode); ; D, o# j8 `2 M9 A) ]
  //设定可以修改的值
# x2 ~+ ^1 \( v% o9 Y% _  DevMode-&gt;dmFields = DevMode-&gt;dmFields|DM_PAPERSIZE;
( m. {& j: @* {  DevMode-&gt;dmFields = DevMode-&gt;dmFields|DM_PAPERLENGTH;
7 h$ F1 J  f7 r: K  DevMode-&gt;dmFields = DevMode-&gt;dmFields|DM_PAPERWIDTH; ' e) Z) w' r: R. }  n0 z
  //设定要修改的值
' b4 J; g* g3 z2 d( C5 s  DevMode-&gt;dmPaperSize=DMPAPER_USER;//设为自定义纸张
5 L  t2 S7 A$ S6 S  DevMode-&gt;dmPaperLength=length; $ m$ u+ l+ C7 \) B
  DevMode-&gt;dmPaperWidth=width; </P>$ I3 Q8 n1 z7 B3 n
<>  //测试打印 ( n% E1 D9 w+ I! o% T& }/ m- B$ U
  Printer()-&gt;BeginDoc(); ' `: W6 `+ {! {+ {( {
  TextOut(Printer()-&gt;Handle, 0, 0, "-----------------",17); % w6 x+ [" P3 X. q
  Printer()-&gt;NewPage();
0 u4 _6 S) y4 w( T  TextOut(Printer()-&gt;Handle, 0, 0, "++++++++++++++++++",18);
6 M* V" V* @9 g8 a  Printer()-&gt;NewPage(); - S# g, t! G: W: s+ t+ C) z
  Printer()-&gt;EndDoc();
5 V, s  y0 ^# J. ^) ]9 s} </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-20 06:13 , Processed in 0.364628 second(s), 52 queries .

回顶部