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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.