Visual Studio 2008 Part 18
■ このスレッドは過去ログ倉庫に格納されています
0121デフォルトの名無しさん
2009/09/10(木) 00:22:48メンドイけど、RichTextBoxを継承して意外と簡単に作れる。
印刷プレビュー付きで300行程度。文字修飾とかイメージとかもOK。
PrintDocument の beginPrint と PrintPage にイベントハンドル登録して、
1ページごとに SendMessage(Handle, EM_FORMATRANGE, wparam, lparam);
で印刷用ビットマップにレンダリングしていく。
ちなみに private const int EM_FORMATRANGE = WM_USER + 57;
気をつける点としてタブストップは
string tabwidth = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".Substring(0,tabsize);
int iWidth = (int)CreateGraphics().MeasureString(tabwidth, Font).Width;
for (int i=0;i<iTabs.Length;i++) { iTabs[i] = iWidth * (i+1); }
とかして指定しとかないと悲しい目に。
まあ、勉強の腕試しにちょうどいいサイズと内容。これが作れるなら初心者脱却かな。
■ このスレッドは過去ログ倉庫に格納されています