09/09/10 00:22:48
>>118
メンドイけど、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); }
とかして指定しとかないと悲しい目に。
まあ、勉強の腕試しにちょうどいいサイズと内容。これが作れるなら初心者脱却かな。