ワープロやドローイングソフトなどの編集ソフトを作る上での一般的な考え方を考える「一般的な編集ソフトの作り方」です。
ここでは、主に、
・メモリ上に、要素をもつ
・イベント発生時の動き
・画面の構成
ということで、現在、「イベント発生時の動き」をやっています。
その機能には、
・印刷
・保存
・読み込み
・カット(切り取り)
・ペースト(貼り込み)
・プロパティ(属性設定・変更)
・表示
・要素の選択
・(要素の)移動
で、今日は印刷についてやります
■印刷-画面表示同様か、ファイル書き出しか?
印刷に関しては、ここの印刷で書いたように、
・画面表示のときと同じようにグラフィックコンテキストがあって、それに書き出す
というのと、
・PSなどで、各要素のファイル出力
という場合があります。
ただ、どちらの場合でも大丈夫なようなグラフィック出力メソッドを用意し、それを呼び出すことでも可能です。
■表示順が問題
ここで問題なのは表示順だったりします。親子関係があるとき、子を配列で持っている場合、その子を表示順にするなどの手があります(親と子、どちらを先に表示するかは場合による)表示順の配列をもったり、リンクを持つのも手かもしれませんけどね・・・
■処理手順
1.印刷が選択されると、たいてい印刷ダイアログが呼ばれる
2.ダイアログが閉じられると、印刷メソッドが呼ばれる。
3.グラフィックコンテキストや出力先を用意して、
4.親から子へ、print(印刷用グラフィックコンテキスト)を呼び出す。
こんなこんなかんじでしょうかね。。
ってことで、簡単だけど、印刷終わり。