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

我的地盘我做主
该用户从未签到
 |
< >因网上只有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()->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->dmFields = DevMode->dmFields|DM_PAPERSIZE; 1 T; R; u, Z1 x" z( q
DevMode->dmFields = DevMode->dmFields|DM_PAPERLENGTH; + @3 A2 _, `( c4 R/ V
DevMode->dmFields = DevMode->dmFields|DM_PAPERWIDTH; : j" i$ y5 q, T& C
//设定要修改的值
) V% h# k6 R, G9 {$ ]0 U DevMode->dmPaperSize=DMPAPER_USER;//设为自定义纸张
: Z: ^) |' | C4 f4 c DevMode->dmPaperLength=length; e/ X! ^/ h% G( [
DevMode->dmPaperWidth=width; </P>( F0 [! j0 f" h. I# I
< > //测试打印
$ S$ ]% L4 d) E. Y5 A. K7 F2 d Printer()->BeginDoc();
( L' n/ g! q2 B) G+ \' M" J; b TextOut(Printer()->Handle, 0, 0, "-----------------",17); 1 k2 \# a1 u; ]/ S/ d2 S
Printer()->NewPage();
2 e. g3 q2 e9 ` TextOut(Printer()->Handle, 0, 0, "++++++++++++++++++",18); P/ U7 U( {2 Q5 F6 ]# n8 E, W5 t O
Printer()->NewPage(); ; W6 e4 X( Z% u1 O$ F4 w
Printer()->EndDoc(); . M6 n$ P& B( h V
} </P> |
zan
|