- もどる -
MindでGUIプログラミング
■ 1999-05-25 [Mind] ごく簡単な印刷処理
Mindアプリで印刷処理を行いたい場合、Aladdin Enterprises社提供の「Ghostscript」というプログラムが必要です。これを使えば、Mind配下のTcl/Tkで出力したポストスクリプト形式のファイルを印刷することができます。
しかし、このプログラムは、Mindと別途にダウンロードしセットアップしなければなりません。また、商用利用が許可されていないため、Mindアプリに組み込んで自由に配布することもできません。
そこで、もっと気軽に印刷できる方法が欲しいものです。
●テキストの印刷
私が現在作っているカレンダー型メモソフトは、テキストを扱うだけのソフトなので、テキストレベルの印刷ができればとりあえず十分です。
この程度なら、Windowsに標準で付いているソフトのプリント機能を利用するという方法が使えます。何のことはありません、起動オプション
/p を指定して実行させればよいのです。
(^_^;
「NOTEPAD.EXE /p c:\xx\xxxx.txt」を 子プロセス実行する
印刷したいテキストをファイルとして出力し、「メモ帳」や「ワードパッド」に渡して“印刷処理だけ”をさせるのです。
※NOTEPAD.EXEはパス不要のようですが、ファイル名とソフト名の部分はフルパスで指定し、さらに空白文字の問題があるので""で囲むようにしたほうが安全です。
例えば、ワードパッドで印刷させる場合、実際には次のようにします。
「"C:\Program Files\Accessories\WORDPAD.EXE" /p "c:\xx\xxxx.txt"」を 子プロセス実行する
※注意:mind7w06.exe(1999.01.24版)では、http://www.rigy.co.jp/のQ&A会議室の255番発言にある修正を施してからGUIライブラリの再コンパイルを行う必要があります。
●画像の印刷
同じようにして、「ペイント」を指定すれば、ビットマップなどの画像ファイルを印刷することができます。(Windows98に付いているペイントなら、GIFやJPGもOK)
「"C:\Program Files\Accessories\MSPAINT.EXE" /p "c:\xx\xxxx.bmp"」を 子プロセス実行する
いずれも、指定ソフトの印刷メニューへ直行し、印刷が終わるとすぐに帰ってきます。
印刷の詳しい設定については、ゆだねたソフトに依存します。通常は前回印刷した設定そのままで印刷されることになります。
「ページ設定」や「印刷プレビュー」などのパラメータを直接指定できると言うことないのですが、そうした起動オプションについては知りません(もともとない?)。
自分ではできない仕事を他から呼んでやらせる、というちょっと姑息な手段です(^_^; が、Windows標準のソフトだけを使う方法なので、これでユーザーの手を煩わせることなく、とりあえず最低限の印刷処理を実現させることができます。
- もどる -