帳票(1ページのみ)を作成して印刷するプログラムを作っています。
ViewクラスのOnPrint関数にCDCクラスのTextOut関数やMoveTo関数、
LineTo関数を使って出力しています。
Win2000ではプレビュー表示も印刷もばっちりなのですが、
NT,Win98で使ってみると16分の1ぐらいに縮小されたり4倍に拡大されたりします。
プレビュー表示も同じようにサイズが変わっています。
表示内容はまったくそのままでサイズだけが変化してしまいます。
OnPrintでピクセル値を固定で書いています。
たとえば
pDC->TextOut(2100,352,string);
のようにです。これがよくないのでしょうか?
印刷に関する知識が浅いのでヘルプを見ていても行き詰まってしまい、
過去ログにも同じ現象の問題を探すことができませんでした。
どうか原因と解決法を教えてください。
環境 Win2000server VC++6.0 MFC
マッピングモードの勉強をしてください。
私はまったくわかりません。
しかし、汎さんの回答はひどいです。
もっと別の言い方があるでしょう。
> もっと別の言い方があるでしょう。
...そうかな?
マッピングモード知らずに印刷しようというのが'ひどい'んじゃないかな。
黒澤様
今回の質問は印刷処理に必要なものは何かを解っていらっしゃらないようなので、なにを調べれ
ばよいかをお答えしています。
言い方がきつくなるのは、印刷についての入門書を読めば必ず書いてある内容だからです。
ものを作ろうと思うなら、まず自分で調べて、どうしても解らないことだけを質問すべきです。
調べるのが嫌な人はお金を払って人に作ってもらってください。
なんて書くともっと非難がくるんだろうなぁ (あはは)
全然酷い答えではない。->マッピングモード
これで検索すればいくらでも答えが返ってくる。
汎氏の回答に何ら不備は無いし、最後のレスでも非難する人の気が知れない。
そもそも質問者もピクセル固定なのが問題なのかも。とある程度分かりかかっているの
だから、マッピングモードという言葉で解決出来ると思うのが自然な流れ。
ただし福田氏のレスは余計と思う。->売り言葉に買い言葉的なのはね・・・・・・。
マッピングモードすら知らなかったのですが、これを変更して物理単位で
描画するようにすることで解決できました。
いろいろな方のご意見参考になりました。もっと勉強して出直してきます。