PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
14835 | 01/03/22 08:58:02 | RE(7):PB6.5: ありがとうございます By aqua |
14831 | 01/03/21 16:56:51 | RE(6):PB6.5: 任意でプリンタの指定をするには?(サンプル2-2) By M.M |
14830 | 01/03/21 16:54:17 | RE(5):PB6.5: 任意でプリンタの指定をするには?(サンプル2-1) By M.M |
14829 | 01/03/21 16:47:12 | RE(4):PB6.5: 任意でプリンタの指定をするには?(サンプル1-2) By M.M |
14828 | 01/03/21 16:46:43 | RE(3):PB6.5: 任意でプリンタの指定をするには?(サンプル1-1) By M.M |
14827 | 01/03/21 15:40:17 | RE(2):PB6.5: 任意でプリンタの指定をするには? By aqua |
14826 | 01/03/19 18:58:27 | RE(1):PB6.5: 任意でプリンタの指定をするには? By Taka |
14824 | 01/03/19 12:00:50 | PB6.5: 任意でプリンタの指定をするには? By aqua |
カテゴリ:印刷処理
日付:2001年03月19日 18:58 発信者:Taka
題名:RE(1):PB6.5: 任意でプリンタの指定をするには?
aquaさん、こんばんは。
>1.使用可能なプリンター一覧を表示する
EnumPrintersというAPIを使って使用可能なプリンタを列挙することができます。
OSによって処理が異なるので注意してください。
また、PRINTER_INFO_x構造体のバッファの扱いも要注意です。
実際の構造体より大きなバッファを要求してきますし、メモリやポインタ操作などと
合わせて処理する必要があるので少々厄介です。
(レジストリから拾ってもできると思いますが、詳しく知りません)
>2.その中から使用するプリンターを選択(設定)する
PBの印刷系では、「Windowsの通常使うプリンタ」にしか出力できないようです。
つまり、Windowsのデフォルトを変更してやればOKです。
WIN.INIやレジストリを変更してもできるようですが、(過去ログ参照)
APIで OpenPrinter>GetPrinter>SetPrinter>ClosePrinter する方法があります。
こちらの場合も、バッファやらポインタ操作など厄介な処理が多いので要注意です。
上記方法でダイアログを自作する以外に、Windowsコモンダイアログの印刷ダイアログを
呼び出す方法もあります。(PrintDlg)
プリンタの列挙はこの中でやってくれますが、選択されたプリンタをデフォルトに設定する
部分は自前で対処する必要があります。
winspool系のAPIって非常に厄介ですが、APIの名前をキーにWeb検索してみてください。
結構な技術情報がたくさんあります。
付加情報:
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.