文字を縦書きに表示する

.NET (VB)の内容
【注意書き】
●VB.NET を使っているものとします。
●動作環境は、Windows XX を使用しているとします。


.NET でも、文字を縦書きに表示することが可能です。

この機能を使えば、簡単に、アプリケーション側で
文字を縦書きに表示したい場合などに活用できます。


フォームに次の様なコードを記述します


-----------VB.NETコーディングここから-------------------


1.フォームに、テキストボックスコントロール、
    ボタンコントロールとピクチャボックスコントロール
    を配置します。
    下記は、デフォルトのオブジェクトの名前と配置を示しています。

   ┏━━━━━━━━━┓┏━━━━┓
   ┃TextBox1          ┃┃Button1 ┃
   ┗━━━━━━━━━┛┗━━━━┛
   ┏━━━━━━━━━━━━┓
   ┃PictureBox1             ┃
   ┃                        ┃
   ┃                        ┃
   ┗━━━━━━━━━━━━┛


2.ボタンコントロールの
    Button1 text プロパティに「縦書き」と記述します。

  ※説明用のためです。必須ではありません。

   ┏━━━━━━━━━┓┏━━━━┓
   ┃TextBox1          ┃┃縦書き  ┃
   ┗━━━━━━━━━┛┗━━━━┛
   ┏━━━━━━━━━━━━┓
   ┃PictureBox1             ┃
   ┃                        ┃
   ┃                        ┃
   ┗━━━━━━━━━━━━┛



3.フォームをダブルクリックして、
    フォームロードイベントのコード編集を開始して、
    次のコードを記述します。


    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click


        Dim Gra As Graphics
        Dim Stf As New StringFormat( _
        StringFormatFlags.DirectionVertical)

        With PictureBox1
            .Image = New Bitmap(.Width, .Height)
            Gra = Graphics.FromImage(.Image)
        End With

        Gra.DrawString(TextBox1.Text, _
        TextBox1.Font, _
        Brushes.Black, _
        0, 0, Stf)


    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load

        PictureBox1.Height = TextBox1.Width '+ 64
        PictureBox1.Width = TextBox1.Height '+ 32

    TextBox1.Text = ""

    End Sub


4.ビルドして実行します。

5.フォームに表示されたテキストボックスに、
  ひらがなで「たてがき」と入力します。

6.フォームに表示された「縦書き」ボタンを押します。

7.フォームに表示された
    ピクチャボックスに、入力した「たてがき」が
  縦書きで表示される事を確認できます。




-----------VB.NETコーディングここまで-------------------

本サンプルではピクチャボックスへテキストボックスの
文字列を縦書き変換して描いています。

フォームロード時にテキストボックスのサイズに合わせて、
縦横変換してピクチャボックスのサイズを変更しています。



 

http://anetm.com/dev/d.cgi?SC=DTDTL&o=Owe

Copyright(c)2001-2006 Ai Net Makoto 記事・情報の無断転載を禁止します。