PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
15331 | 01/05/24 12:26:06 | RE(4):PB5.0.04: 印刷時の部数指定 By マックス |
15330 | 01/05/24 12:18:28 | RE(3):PB5.0.04: 印刷時の部数指定 By マックス |
15329 | 01/05/23 21:29:27 | RE(2):PB5.0.04: 印刷時の部数指定 By あすかちゃんの父 |
15326 | 01/05/23 20:14:52 | RE(1):PB5.0.04: 印刷時の部数指定 By M.M |
15322 | 01/05/23 18:52:14 | PB5.0.04: 印刷時の部数指定 By マックス |
カテゴリ:印刷処理
日付:2001年05月23日 21:29 発信者:あすかちゃんの父
題名:RE(2):PB5.0.04: 印刷時の部数指定
マックスさん、こんばんは。
>PFCの機能(pfc_Print)を使用して印刷を行おうとすると、
>あるケースにおいて部数の指定が効かない事があります。
>
>私が調べた範囲ではDLL(pfccom32.dll)で提供されている関数(pfc_printdlg)に問題があり、
>印刷ダイアログでユーザーが指定した値がセットされず、部数が必ず\'1\'になるようです。
厳密にはWindowsのコモンダイアログ(comdlg32.dll)のAPI
のバグです(pfc_printdlgはこのAPIのラッパー関数)。
引数の印刷ページ数が1枚の場合に、部数の戻り値が常に1に
なってしまいます。
私もPFCを使っていまして、対策としてof_PrintDlgを改造し
て、印刷ページ数が1枚の場合は引数を2に修正するようにし
て回避しています。
改造内容は、下記の通りです。尚引数は構造体です。
ll_hwnd = handle (aw_obj)
if ll_hwnd = 0 then
return -1
end if
// 以下3行追加
if astr_printdlg.l_maxpage = 1 then
astr_printdlg.l_maxpage = 2
end if
return pfc_printdlg (ll_hwnd, astr_printdlg)
PFCはメッセージルータとか、面白い機能を実装しているので
あちこちいじって使っています。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.