情報
概要
なでしこのプリンタ設定をプログラムから設定します。
解説
【プリンタ設定用変数の用紙設定】に、【セクション名】を設定
【プリンタ設定変更関数】を呼ぶ
【プリンタの設定】ダイアログが表示され、
【設定.INI】の【セクション名】に設定されているプリンタ情報に設定します
出力(戻り)項目
【プリンタ設定用変数の用紙サイズ】に変更された用紙サイズ
【プリンタ設定用変数の給紙方法】に変更された給紙方法
【プリンタ設定用変数の用紙向】に変更された用紙の向き
【設定.INI】の【セクション名】に設定されたプリンタ情報を保存します
タイマーを起動して、プリンタの設定ダイアログを表示して、
タイマーの割込みでプリンタの設定をしています
プリンタ名は、プリンタ切替えがうまくできないので未使用です。
本体
#以下、プリンタ設定プログラム##########
#####################
# プリンタ設定ダイアログ監視タイマー #
#####################
プリンタ監視タイマーとは、タイマー
その値は、500
その時満ちた時は
もし PRNの設定中=オフならば
PRNの設定中は、オン
プリンタ情報設定
PRNの設定中は、オフ
PRNとは、プリンタ設定用変数
待機
■プリンタ設定用変数
・プリンタ名{文字列} #プリンタ設定ID=1136
・用紙サイズ{文字列} #プリンタ設定ID=1137
・給紙方法{文字列} #プリンタ設定ID=1138
・用紙向{文字列} #用紙の向 縦、横
・読込完了フラグ{整数} #プリンタ情報読込完了=オン
・設定中フラグ{整数} #プリンタ情報設定中=オン
・用紙設定{文字列} #
●プリンタ設定変更
プリンタ監視タイマーを開始
プリンタ設定
もし それ=はいならば
プリンタ設定保存
######################
#タイマーから呼び出されプリンタ設定を行う#
######################
●プリンタ情報設定
Hとは、数値 #一時ハンドル
プリンタ名Hとは、数値 #プリンタ名ハンドル ID=1136
用紙サイズHとは、数値 #用紙サイズハンドル ID=1137
給紙方法Hとは、数値 #給紙方法ハンドル ID=1138
項目一覧とは、文字列 #プリンタ設定ダイアログ項目一覧
Hは、「プリンタの設定」を窓ハンドル検索
もし H<>0ならば
項目一覧は、Hの窓ハンドル内列挙
項目一覧の3から1136を表ピックアップ
プリンタ名Hは、それ[0,0]
#プリンタ名Hは、GetDlgItem(H,1136)
項目一覧の3から1137を表ピックアップ
用紙サイズHは、それ[0,0]
#用紙サイズHは、GetDlgItem(H,1137)
項目一覧の3から1138を表ピックアップ
給紙方法Hは、それ[0,0]
#給紙方法Hは、GetDlgItem(H,1138)
もし PRNの読込完了フラグ=オフならば
PRNの読込完了フラグは、オン
プリンタ設定読込
EnableWindow(プリンタ名H,0) #プリンタ名コンボを無効
#もし PRNのプリンタ名[0,0]<>「」ならば
# プリンタ名HにPRNのプリンタ名[0,1]を窓ハンドル値設定
もし PRNの用紙サイズ[0,0]<>「」ならば
用紙サイズHにPRNの用紙サイズ[0,1]を窓ハンドル値設定
もし PRNの給紙方法[0,0]<>「」ならば
給紙方法HにPRNの給紙方法[0,1]を窓ハンドル値設定
もし PRNの用紙向=「横」ならば
項目一覧の3から1057を表ピックアップ
それ[0,0]を窓ハンドルクリック
違えば
項目一覧の3から1056を表ピックアップ
それ[0,0]を窓ハンドルクリック
#PRNのプリンタ名は、アイテム取得(プリンタ名H)
PRNの用紙サイズは、アイテム取得(用紙サイズH)
PRNの給紙方法は、アイテム取得(給紙方法H)
違えば
PRNの読込完了フラグは、オフ
プリンタ監視タイマーを停止
#プリンタ設定項目のハンドルからアイテム名と値を
●アイテム取得(ハンドル)
アイテム一覧とは、文字列
アイテム名とは、文字列
アイテム値とは、数値
アイテム一覧は、ハンドルを窓ハンドルアイテム取得
アイテム値は、ハンドルを窓ハンドル値取得
もし アイテム値>=0ならば
アイテム名は、アイテム一覧\アイテム値
それは、「{アイテム名},{アイテム値}」
違えば
それは、「"",{アイテム値}」
#プリンタ設定結果を保存
●プリンタ設定保存
Hとは、数値
もし プリンタ用紙高さ>プリンタ用紙幅ならば
PRNの用紙向は、「縦」
違えば
PRNの用紙向は、「横」
「{母艦パス}設定.ini」のINI開く
Hは、それ
#Hで「{PRNの用紙設定}」の「プリンタ名」にPRNのプリンタ名をINI書く
Hで「{PRNの用紙設定}」の「用紙サイズ」にPRNの用紙サイズをINI書く
Hで「{PRNの用紙設定}」の「給紙方法」にPRNの給紙方法をINI書く
Hで「{PRNの用紙設定}」の「用紙向」にPRNの用紙向をINI書く
HのINI閉じる
#プリンタ設定を読み込む
●プリンタ設定読込
Hとは、数値
「{母艦パス}設定.ini」のINI開く
Hは、それ
#PRNのプリンタ名は、Hで「{PRNの用紙設定}」の「プリンタ名」をINI読む
PRNの用紙サイズは、Hで「{PRNの用紙設定}」の「用紙サイズ」をINI読む
PRNの給紙方法は、Hで「{PRNの用紙設定}」の「給紙方法」をINI読む
PRNの用紙向は、Hで「{PRNの用紙設定}」の「用紙向」をINI読む
HのINI閉じる
●EnableWindow(H,B)=DLL("user32.dll",
"BOOL EnableWindow(HWND hWnd,BOOL bEnable)")
#プログラム ここまで######################
//サンプルプログラム
!変数宣言が必要
!母艦設計=「母艦の可視はオフ」
#ここからは、動作確認用プログラム######
母艦のサイズは、「10,10,400,300」
母艦のテキストは、「プリンタ設定動作確認プログラム」
#ボタン作成
設定1ボタンとは、ボタン
その位置は、「50,10」
その幅は、200
そのクリックした時は
PRNの用紙設定は、「設定1」
プリンタ設定変更
設定1ボタンのテキストは、「{PRNの用紙サイズ\0,0} {PRNの用紙向}」
設定2ボタンとは、ボタン
その位置は、「50,40」
その幅は、200
そのクリックした時は
PRNの用紙設定は、「設定2」
プリンタ設定変更
設定2ボタンのテキストは、「{PRNの用紙サイズ\0,0} {PRNの用紙向}」
設定3ボタンとは、ボタン
その位置は、「50,70」
その幅は、200
そのクリックした時は
PRNの用紙設定は、「設定3」
プリンタ設定変更
設定3ボタンのテキストは、「{PRNの用紙サイズ\0,0} {PRNの用紙向}」
母艦の可視は、オン
- 転載ありがとうございます。私も@wiki使い始めたところです。 -- hihiro (2008-09-27 18:15:34)
- こちらこそ転載させていただいてとても感謝ですー -- 管理人 (2008-09-30 21:34:32)
最終更新:2009年05月31日 17:28