VC++6.0のWin32Applicationでメールを表示して印刷するプログラムを
作っているのですが、本文(エディットボックスに表示している)だけ
改行されずに一直線に文章が印刷されてしまいます。
これをエディットボックスと同じ改行でメールを印刷するには
どうしたらよいのでしょうか?(ソースは一部猫でもの本から流用しました)
//////////////////////////////////////////////////////////////////////////
// MPrint(Mail Print)
// 内容 :メールの内容を印刷する(簡易印刷)
//////////////////////////////////////////////////////////////////////////
int MPrint(HWND hWnd){
PRINTDLG pd;
DOCINFO di;
TEXTMETRIC tm;
char szPrnDat1[TEMP_MAX], szPrnDat2[TEMP_MAX], szPrnDat3[TEMP_MAX], szPrnDat4[TEMP_MAX], szPrnDat5[TEMP_MAX];
memset(&pd, 0, sizeof(PRINTDLG));
pd.lStructSize = sizeof(PRINTDLG);
pd.hwndOwner = hWnd;
pd.hDevMode = NULL;
pd.hDevNames = NULL;
pd.Flags = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC | PD_NOPAGENUMS | PD_NOSELECTION | PD_HIDEPRINTTOFILE;
pd.nMinPage = 1;
pd.nMaxPage = 1;
pd.nToPage = 1;
pd.nCopies = 1;
if(PrintDlg(&pd) == 0){
return -1;
}
memset(&di, 0, sizeof(DOCINFO));
di.cbSize = sizeof(DOCINFO);
di.lpszDocName = RepSubject;
StartDoc(pd.hDC, &di);
StartPage(pd.hDC);
GetTextMetrics(pd.hDC, &tm);
sprintf(szPrnDat1, "送信時刻:%s", RepDate);
sprintf(szPrnDat2, "送信者:%s", RepFrom);
sprintf(szPrnDat3, "件名:%s", RepSubject);
sprintf(szPrnDat4, "------------------------------------------------------------");
sprintf(szPrnDat5, "%s", strText); // 本文出力部分
TextOut(pd.hDC, 10, 10 + (tm.tmHeight * 1 + 20), szPrnDat1, (int)strlen(szPrnDat1));
TextOut(pd.hDC, 10, 10 + (tm.tmHeight * 2 + 20), szPrnDat2, (int)strlen(szPrnDat2));
TextOut(pd.hDC, 10, 10 + (tm.tmHeight * 3 + 20), szPrnDat3, (int)strlen(szPrnDat3));
TextOut(pd.hDC, 10, 10 + (tm.tmHeight * 4 + 20), szPrnDat4, (int)strlen(szPrnDat4));
TextOut(pd.hDC, 10, 10 + (tm.tmHeight * 5 + 20), szPrnDat5, (int)strlen(szPrnDat5));
EndPage(pd.hDC);
EndDoc(pd.hDC);
DeleteDC(pd.hDC);
return(0);
}
TextOut関数 を DrawText関数 に代えましょう。
編集 削除具体的な使用法をお願いします。
編集 削除MSDNで調べるか、API名が掲示されているのですからGoogleで調べるとか可能だと思いますが…
http://www.microsoft.com/japan/developer/library/jpgdipf/_win32_drawtext.htm
に書かれています。
MSDNが無いのでしたら、
http://www.microsoft.com/japan/developer/library/
をブックマークしておけばよろしいかと。
(サイト内検索(?)らしきモノが見あたりませんが(^_^;))
そんなものは自分で調べてください。「DrawText」をキーワードにして
goo あたりで検索すりゃ、用例なんぞいくつでもでてくるでしょうが。
ごめんなさいです。
なんとかMSDNのページを見て解決しました。
本当にありがとうございました。