プリンターが開く前に、プロセス全体のデフォルトプリンターを設定する。
call "PC_PRINTER_SET_DEFAULT" using by value default-option by reference default-struct returning status-code
| 呼び出しプロトタイプ使用時 ( 説明の読み方) | PIC (32 ビット システム) | ||||
|---|---|---|---|---|---|
| default-option | cblt-x4-comp5 | pic x(4) comp-5. | |||
| default-option が1に設定されている場合 | |||||
| default-struct | 以下を含むcblte-pd-printer-nameとして事前定義された集団: | 以下を含む集団項目: | |||
| cblte-pd-printer-name-len | cblt-x2-comp5 | pic x(2) comp-5. | |||
| cblte-pd-printer-name | pic x(cblte-pd-printer-name-len). | pic x(printer-name-length). | |||
| default-optionが2に設定されている場合 | |||||
| default-struct | 以下を含むcblte-pd-printer-browseとして事前定義された集団: | 以下を含む集団項目: | |||
| cblte-pd-printer-browse-hwnd | cblt-x4-comp5 | pic x(4) comp-5. | |||
| cblte-pd-printer-browse-namelen | cblt-x2-comp5 | pic x(2) comp-5. | |||
| cblte-pd-reserved | cblt-x2-comp5 | pic x(2) comp-5. | |||
| cblte-pd-printer-browse-name | pic x(cblte-pd-printer-browse-namelen). | pic x(printer-name-length). | |||
| status-code | 説明の読み方参照 | ||||
| default-option | default-optionを指定する。
|
||||
| default-optionが1に設定されている場合: | |||||
| printer-name-length | printer-nameの長さ | ||||
| printer-name | プリンターの名称 | ||||
| default-optionが2に設定されている場合: | |||||
| browser-hwnd | プリンターブラウザのハンドル | ||||
default-optionが2に設定されている場合:
| printer-name-length | printer-nameの長さ |
| printer-name | プリンターの名称 |
| reserved | 確保 |
| status-code | ステータスコード |
default-option2を設定した場合、本関数はユーザーが選択したプリンターへ返すが、デフォルトプリンターとしての設定はしない。
WindowsNTでは、プリンター名はUNCフォーマットにて入力されなければならない(すなわち、ネットワークで表示されるデバイスのフル ネーム)。
例1:
以下の例では、デフォルトプリンターの設定におけるPC_PRINTER_SET_DEFAULTの使用方法を示す。
working-storage section.
01 MyDocumentInfo.
03 filename.
05 len pic x(2) comp-5.
05 body pic x(128).
03 document.
05 len pic x(2) comp-5.
05 body pic x(128).
03 document-flags pic x(4) comp-5.
03 window-hwnd pic x(4) comp-5.
01 Printer-RetCode pic 9(4) comp-5.
78 USE-OPEN-DIALOG value 1.
78 USE-FONT-DIALOG value 2.
78 USE-FORCE-PORTRAIT value 4.
78 USE-FORCE-LANDSCAPE value 8.
78 USE-PROGRESS-DIALOG value 16.
01 default-info.
03 option pic x(4) comp-5.
03 ourprinter.
05 len pic x(2) comp-5.
05 body pic x(128).
78 SET-DEFAULT-PRINTER value h"0001".
procedure division.
move "My Color PS"
to body of ourprinter of default-info
move 11 to len of ourprinter of default-info
move SET-DEFAULT-PRINTER to option of default-info
call "PC_PRINTER_SET_DEFAULT" using
by value option of default-info,
by reference ourprinter of default-info
returning Printer-RetCode
end-call
if Printer-RetCode not equal zero
display "Unable to setup a default printer"
display " + Retcode = " Printer-RetCode
stop run
end-if
move "c:\config.sys" to body of filename
move 13 to len of filename
move "My Config.sys" to body of document
move 13 to len of document
move USE-PROGRESS-DIALOG to document-flags
move zero to window-hwnd
call "PC_PRINT_FILE" using by reference filename
by reference document
by value document-flags
by value window-hwnd
returning Printer-RetCode
end-call
if Printer-RetCode not equal zero
display "PC_PRINT_FILE failed.. " Printer-RetCode
else
display "PC_PRINT_FILE: OK"
end-if
.
例2:
以下の例では、プリンターを閲覧するためのPC_PRINTER_SET_DEFAULTの使用方法を示す。この例はWindowsNTのみに対応している。
working-storage section.
01 MyDocumentInfo.
03 filename.
05 len pic x(2) comp-5.
05 body pic x(128).
03 document.
05 len pic x(2) comp-5.
05 body pic x(128).
03 document-flags pic x(4) comp-5.
03 window-handle pic x(4) comp-5.
01 MyDefaultPrinter.
03 hwnd pic x(4) comp-5.
03 len pic x(2) comp-5.
03 reserved pic x(2) comp-5.
03 body pic x(128).
01 Printer-RetCode pic 9(4) comp-5.
78 USE-OPEN-DIALOG value 1.
78 USE-FONT-DIALOG value 2.
78 USE-FORCE-PORTRAIT value 4.
78 USE-FORCE-LANDSCAPE value 8.
78 USE-PROGRESS-DIALOG value 16.
01 default-info.
03 option pic x(4) comp-5.
03 ourprinter.
05 len pic x(2) comp-5.
05 body pic x(128).
78 SET-DEFAULT-PRINTER value h"0001".
78 BROWSE-DEFAULT-PRINTER value h"0002".
linkage section.
01 lnk-hwnd pic x(4) comp-5.
procedure division using by value lnk-hwnd.
move BROWSE-DEFAULT-PRINTER to option of default-info
move lnk-hwnd to hwnd of MyDefaultPrinter
move 127 to len of MyDefaultPrinter
call "PC_PRINTER_SET_DEFAULT" using
by value option of default-info
by reference hwnd
returning Printer-RetCode
end-call
if Printer-RetCode not equal zero
display "Unable to browse for a default printer"
display " + Retcode = " Printer-RetCode
stop run
end-if
display "Browse Printer : "
body of MyDefaultPrinter(1:len of MyDefaultPrinter)
move SET-DEFAULT-PRINTER to option of default-info
move len of MyDefaultPrinter to len of ourprinter
move body of MyDefaultPrinter(1:len of MyDefaultPrinter)
to body of ourprinter
call "PC_PRINTER_SET_DEFAULT" using
by value option of default-info
by reference ourprinter of default-info
returning Printer-RetCode
end-call
if Printer-RetCode not equal zero
display "Unable to set a default printer"
display " + Retcode = " Printer-RetCode
stop run
end-if
move "c:\config.sys" to body of filename
move 13 to len of filename
move "My Config.sys" to body of document
move 13 to len of document
move USE-PROGRESS-DIALOG to document-flags
move zero to window-handle
call "PC_PRINT_FILE" using by reference filename
by reference document
by value document-flags
by value window-handle
returning Printer-RetCode
end-call
if Printer-RetCode not equal zero
display "PC_PRINT_FILE failed.. " Printer-RetCode
else
display "PC_PRINT_FILE: OK"
end-if
.