※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

「◆プリンタ設定」の編集履歴(バックアップ)一覧はこちら

◆プリンタ設定」の最新版変更点

追加された行は青色になります。

削除された行は赤色になります。

 *情報
 作者名:hihiro
 引用元:[[なでしこプログラム掲示板「プリンタ設定」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=901&rev=&no=0]]
 
 *概要
 なでしこのプリンタ設定をプログラムから設定します。
 
 *解説
 【プリンタ設定用変数の用紙設定】に、【セクション名】を設定
 
 【プリンタ設定変更関数】を呼ぶ
 【プリンタの設定】ダイアログが表示され、
 【設定.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)
 #comment()
 
 ----
ツールボックス

下から選んでください:

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