アプリ版:「スタンプのみでお礼する」機能のリリースについて

データを印刷するプログラムを作成しています。
印刷する直前に GetTextMetrics 関数を呼びフォント情報を得て印刷していますが、
メンバである tmHeight の単位がよくわかりません。

家にある環境では tmHeight = 100 です。
A4の紙に試しに印刷したところ 68行印刷できたので
現在は A4サイズ = 6800 であると仮定してプログラムを組んでいますが
どうも気分が悪いです。

どなたかこのモヤモヤを解消していただけないでしょうか?

A 回答 (1件)

プリンタによって同じフォント使ってもサイズが異なっているはずですWindowsの話になりますがGetDeviceCapsで用紙の印字可能範囲なども取得可能です



アプリでプリンタを限定するなら固定にしてもいいと思いますが
複数のプリンタや用紙サイズに対応させるのであれば
印字可能な範囲を求めた上でフォントサイズを調整する必要があります

そのプリンタが他のアプリケーションやPCから使われたりしてると
何も設定していない場合その前に印刷された設定情報が引き継がれて
意図しない印字結果になることがあります

この回答への補足

http://msdn.microsoft.com/ja-jp/library/cc428670 …

補足日時:2010/02/01 12:04
    • good
    • 0
この回答へのお礼

無事、GetDeviceCaps関数(http://msdn.microsoft.com/ja-jp/library/cc428670 …の第二引数に VERTRES を渡す事で必要な値を取得する事ができました。ありがとうございます。

お礼日時:2010/02/01 12:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!