テキストを印刷する時のフォントの変更方法を教えてください – プログラミング – Home

テキストを印刷する時のフォントの変更方...
 
通知
すべてクリア

[解決済] テキストを印刷する時のフォントの変更方法を教えてください


クリリン
 クリリン
(@クリリン)
ゲスト
結合: 23年前
投稿: 175
Topic starter  

いつもお世話になっております。

下記のコードを記述しておりまして、

void CTestDlg::f_Print(){ <--作った関数です。
char WorkChar[] = テスト;
HDC hdcPrinter;
…省略
hdcPrinterにプリンタ情報をセット
…省略
TextOut(hdcPrinter, xPrinter, yPrinter, WorkChar, strlen(WorkChar));
…印刷処理(印刷はちゃんと出来ております)
}
として印刷をしているのですが、フォントのサイズを変更することができません。

フォントのサイズ変更は、
CDC *pDC = GetDC();
CFont tmpFont;
tmpFont.CreatePointFont(90,MS ゴシック,pDC);// フォントサイズは9
pDC->SelectObject(&tmpFont);

と記述したらフォントが変更できるのはわかるのですが、
HDCで定義したデバイスに渡す方法が判りません。

どなたか教えていただけませんでしょうか?
もしかしたら、根本的に違っていたら指摘してください。よろしくお願いします。


引用未解決
トピックタグ
不良PG
 不良PG
(@不良PG)
ゲスト
結合: 23年前
投稿: 188
 

こうすれば、まったく同じでしょう

>CDC *pDC = GetDC();

CDC *pDC = CDC::FromHandle(hDC);


返信引用
クリリン
 クリリン
(@クリリン)
ゲスト
結合: 23年前
投稿: 175
Topic starter  

できました!
フォントの変更時に
CDC *pDC = CDC::FromHandle(hdcPrinter);
とする事で、デバイスを渡すことができるのですね!

不良PG さん、ありがとうございます。


返信引用
不良PG
 不良PG
(@不良PG)
ゲスト
結合: 23年前
投稿: 188
 

デバイスを渡すと言うよりデバイスコンテキストのハンドルを
CDCクラスオブジェクトに関連付けたという事です


返信引用
クリリン
 クリリン
(@クリリン)
ゲスト
結合: 23年前
投稿: 175
Topic starter  

勘違いしてました。
なんだか、ただ記述してただけで、納得がいかなかったのですが、おかげで、納得しました。
ありがとうございます。
でも、理解に苦しんでおります。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました