ブロックフローで文章を記述する
今度は、ドキュメント内にブロックを設定し、その中に流し込む方法で文章を記述します。
ブロックは、「StartDoc()
」「EndDoc()
」で囲み、その中にRenderInlineTextメソッドを使って記述します。このメソッドはオーバーロードメソッドで、いくつかの引数を指定できます。ここでは引数が文字列だけのものと、文字列・フォント・スタイル・サイズ・描画色、を引数とするメソッドを使っています。ブロックを設定する場所は、Generateメソッドの前にします。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '直接文字を描画 C1PrintDocument1.Body.Children.Add(New C1.C1Preview.RenderText("初めてのドキュメント作成")) ' ---- 最初のブロック ------------------------------------ C1PrintDocument1.StartDoc() C1PrintDocument1.RenderInlineText(" カラーピッカーで色を選択できる ") C1PrintDocument1.RenderInlineText("Silverlight", _ New Font("Times New Roman", 30, FontStyle.Bold), Color.Navy) C1PrintDocument1.RenderInlineText(" アプリケーションの作成") C1PrintDocument1.EndDoc() C1PrintDocument1.Generate()
private void Form1_Load(object sender, EventArgs e) { // 直接文字を描画 this.c1PrintDocument1.Body.Children.Add(new RenderText("初めてのドキュメント作成")); // ---- 最初のブロック ------------------------------------ c1PrintDocument1.StartDoc(); c1PrintDocument1.RenderInlineText(" カラーピッカーで色を選択できる "); c1PrintDocument1.RenderInlineText("Silverlight", new Font("Times New Roman", 30, FontStyle.Bold), Color.Navy); c1PrintDocument1.RenderInlineText(" アプリケーションの作成"); c1PrintDocument1.EndDoc(); this.c1PrintDocument1.Generate();
ボーダーを設定する
今度は、今挿入したブロックの下にもう1つブロックを設定し、ボーダー線を描画してみましょう。
直線の描画は、RenderBlockHorzLineメソッドを使用します。引数は2つで、線の長さと線の属性です。長さはUnitで指定します。また、線の属性は「LineDef」オブジェクトを作成します。コンストラクタの引数は2つで、線の幅と描画色です。
' ------ ボーダーの設定 ---------------------------------------- C1PrintDocument1.StartDoc() Dim ud As Unit = 6 C1PrintDocument1.RenderInlineText(" ") Dim ldef As New C1.C1Preview.LineDef("2mm", Color.SteelBlue) C1PrintDocument1.RenderBlockHorzLine(ud, ldef) C1PrintDocument1.RenderInlineText(" ") C1PrintDocument1.EndDoc()
// ------ ボーダーの設定 ---------------------------------------- c1PrintDocument1.StartDoc(); Unit ud = 6; LineDef ldef = new LineDef("2mm", Color.SteelBlue); c1PrintDocument1.RenderBlockHorzLine(ud, ldef); c1PrintDocument1.RenderInlineText(" "); c1PrintDocument1.EndDoc();
次に、もう1つブロックを設定して見出しを記述します。
' ---- 2番目のブロック ------------------------------------ '見出しの設定 C1PrintDocument1.StartDoc() C1PrintDocument1.RenderInlineText("■はじめに", _ New Font("MSゴシック", 14, FontStyle.Bold), Color.DarkCyan) C1PrintDocument1.EndDoc()
// ---- 2番目のブロック ------------------------------------ // 見出しの設定 c1PrintDocument1.StartDoc(); c1PrintDocument1.RenderInlineText("■はじめに", new Font("MSゴシック", 14, FontStyle.Bold), Color.DarkCyan); c1PrintDocument1.EndDoc();