QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:24 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>因网上只有Delphi例子本人在用CB编写时发现有一些例子不能用, # h9 p7 r9 M, ~9 X) l4 T$ }+ n( o9 ]1 y
所以一生气就索性查了查资料自己写了,怕网友们在用编程时也遇见此类情况,
+ {, Q  V, O7 s3 i就马上传了上来。 </P>9 K) k) l1 j; I0 o6 P
<>void __fastcall TForm1::BitBtn1Click(TObject *Sender)
# s6 O+ M9 k4 H  \+ L$ X. _6 Z. X{
1 t# s( I* i5 Q: h- @$ xchar *ADevice, *ADriver, *APort; + v/ j6 }3 }( \6 C
THandle DeviceMode;
1 i  F+ b5 U9 w# tPDeviceMode DevMode; + b8 m, P/ @: M; k, Q8 i$ ], {
int length,width; 1 Y) q. N8 l. g; o" d" J
  length=1400; , p9 D$ M' {9 R8 E& [
  width=2410;//设定自定义纸张的尺寸单位为0.1毫米
" L/ O, P! O( {+ M& f  ADevice =new char[100]; 3 G/ k" z& |1 B  }5 ]( o
  ADriver =new char[100]; 8 |6 e4 c( ]7 q1 w6 d
  APort =new char[100];   C5 \. t9 F, j, L$ p
  //获取打印机
0 R- ]. W" L: f# m0 D! y. r: l  Printer()-&gt;GetPrinter(ADevice, ADriver, APort,DeviceMode); $ Z4 t' e& ?: `; j# s9 U) L
  //获取PDevMode结构 / A2 z" @1 Z# ?% m
  DevMode =(_devicemodeA*) GlobalLock((void *)DeviceMode);
, H& X. b: d+ |4 S( U: J  //设定可以修改的值
& t4 t& f2 W7 i( H, Y6 d  DevMode-&gt;dmFields = DevMode-&gt;dmFields|DM_PAPERSIZE; 1 T; R; u, Z1 x" z( q
  DevMode-&gt;dmFields = DevMode-&gt;dmFields|DM_PAPERLENGTH; + @3 A2 _, `( c4 R/ V
  DevMode-&gt;dmFields = DevMode-&gt;dmFields|DM_PAPERWIDTH; : j" i$ y5 q, T& C
  //设定要修改的值
) V% h# k6 R, G9 {$ ]0 U  DevMode-&gt;dmPaperSize=DMPAPER_USER;//设为自定义纸张
: Z: ^) |' |  C4 f4 c  DevMode-&gt;dmPaperLength=length;   e/ X! ^/ h% G( [
  DevMode-&gt;dmPaperWidth=width; </P>( F0 [! j0 f" h. I# I
<>  //测试打印
$ S$ ]% L4 d) E. Y5 A. K7 F2 d  Printer()-&gt;BeginDoc();
( L' n/ g! q2 B) G+ \' M" J; b  TextOut(Printer()-&gt;Handle, 0, 0, "-----------------",17); 1 k2 \# a1 u; ]/ S/ d2 S
  Printer()-&gt;NewPage();
2 e. g3 q2 e9 `  TextOut(Printer()-&gt;Handle, 0, 0, "++++++++++++++++++",18);   P/ U7 U( {2 Q5 F6 ]# n8 E, W5 t  O
  Printer()-&gt;NewPage(); ; W6 e4 X( Z% u1 O$ F4 w
  Printer()-&gt;EndDoc(); . M6 n$ P& B( h  V
} </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, 2025-7-30 00:51 , Processed in 0.308978 second(s), 51 queries .

回顶部