- 在线时间
- 0 小时
- 最后登录
- 2007-9-23
- 注册时间
- 2004-9-10
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 9975 点
- 威望
- 7 点
- 阅读权限
- 150
- 积分
- 4048
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1893
- 主题
- 823
- 精华
- 2
- 分享
- 0
- 好友
- 0

我的地盘我做主
该用户从未签到
 |
< >因网上只有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()->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->dmFields = DevMode->dmFields|DM_PAPERSIZE;
( m. {& j: @* { DevMode->dmFields = DevMode->dmFields|DM_PAPERLENGTH;
7 h$ F1 J f7 r: K DevMode->dmFields = DevMode->dmFields|DM_PAPERWIDTH; ' e) Z) w' r: R. } n0 z
//设定要修改的值
' b4 J; g* g3 z2 d( C5 s DevMode->dmPaperSize=DMPAPER_USER;//设为自定义纸张
5 L t2 S7 A$ S6 S DevMode->dmPaperLength=length; $ m$ u+ l+ C7 \) B
DevMode->dmPaperWidth=width; </P>$ I3 Q8 n1 z7 B3 n
< > //测试打印 ( n% E1 D9 w+ I! o% T& }/ m- B$ U
Printer()->BeginDoc(); ' `: W6 `+ {! {+ {( {
TextOut(Printer()->Handle, 0, 0, "-----------------",17); % w6 x+ [" P3 X. q
Printer()->NewPage();
0 u4 _6 S) y4 w( T TextOut(Printer()->Handle, 0, 0, "++++++++++++++++++",18);
6 M* V" V* @9 g8 a Printer()->NewPage(); - S# g, t! G: W: s+ t+ C) z
Printer()->EndDoc();
5 V, s y0 ^# J. ^) ]9 s} </P> |
zan
|