掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
テキストファイルを表示どおりに印刷するには? (ID:58468)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
私の場合次のようにしました。 プリンターデバイスとデスプレイデバイス固有の情報 (X方向、Y方向の論理インチ当たりのピクセル数)を取得し、 デスプレイのピクセル数を1として、プリンターのピクセル数の 倍率を求め、プリンターの印刷の時その倍率を考慮しました。 具体的に言いますと、 CViewの派生クラスで、OnDraw関数を作り、その中でGetDiviceCapsを 使って、プリンター出力か否かの判定や、それぞれのピクセル数取得を行います。 文字の位置については、デスプレイに対するプリンターのピクセル数の倍率 を考慮します。 文字のサイズもCreateFont等でGetDiviceCapsを使えば旨くできます。 つまり 文字の高さ h = MulDiv(pDC->GetDeviceCaps(LOGPIXELSY),文字のpoint数,72); FontL.CreateFont(-h,0,0,0,FW_NORMAL,0,0,0, SHIFTJIS_CHARSET,OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS, DRAFT_QUALITY, DEFAULT_PITCH | FF_MODERN, fontF); とします。 関数や設定により、もっと簡単な方法があるかもしれません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.