◆プリンタ設定

情報


概要

なでしこのプリンタ設定をプログラムから設定します。

解説

【プリンタ設定用変数の用紙設定】に、【セクション名】を設定

【プリンタ設定変更関数】を呼ぶ
【プリンタの設定】ダイアログが表示され、
【設定.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)
名前:
コメント:


タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2009年05月31日 17:28
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。