SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)

テキストデータから印刷ドキュメントを作成する.NETアプリケーションの作成

ComponentOne StudioのReports for Windows Formsを使ったWindowsアプリケーションの作成

  • このエントリーをはてなブックマークに追加

ブロックフローで文章を記述する

 今度は、ドキュメント内にブロックを設定し、その中に流し込む方法で文章を記述します。

 ブロックは、「StartDoc()」「EndDoc()」で囲み、その中にRenderInlineTextメソッドを使って記述します。このメソッドはオーバーロードメソッドで、いくつかの引数を指定できます。ここでは引数が文字列だけのものと、文字列・フォント・スタイル・サイズ・描画色、を引数とするメソッドを使っています。ブロックを設定する場所は、Generateメソッドの前にします。

Visual Basic
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()
C#
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つで、線の幅と描画色です。

Visual Basic
' ------ ボーダーの設定 ----------------------------------------
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()
C#
// ------ ボーダーの設定 ----------------------------------------
c1PrintDocument1.StartDoc();
Unit ud = 6;
LineDef ldef = new LineDef("2mm", Color.SteelBlue);
c1PrintDocument1.RenderBlockHorzLine(ud, ldef);
c1PrintDocument1.RenderInlineText(" ");
c1PrintDocument1.EndDoc();
次のブロックを設定し直線を描画する
次のブロックを設定し直線を描画する

 次に、もう1つブロックを設定して見出しを記述します。

Visual Basic
' ---- 2番目のブロック ------------------------------------

       '見出しの設定
       C1PrintDocument1.StartDoc()
       C1PrintDocument1.RenderInlineText("■はじめに", _
             New Font("MSゴシック", 14, FontStyle.Bold), Color.DarkCyan)
       C1PrintDocument1.EndDoc()
C#
// ---- 2番目のブロック ------------------------------------

// 見出しの設定
c1PrintDocument1.StartDoc();
c1PrintDocument1.RenderInlineText("■はじめに", new Font("MSゴシック", 14, 
                                  FontStyle.Bold), Color.DarkCyan);
c1PrintDocument1.EndDoc();

次のページ
段落の作成とファイルの読み出し処理

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5515 2010/10/20 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング