文字を縦書きに表示する 【注意書き】●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 Sub4.ビルドして実行します。5.フォームに表示されたテキストボックスに、 ひらがなで「たてがき」と入力します。6.フォームに表示された「縦書き」ボタンを押します。7.フォームに表示された ピクチャボックスに、入力した「たてがき」が 縦書きで表示される事を確認できます。-----------VB.NETコーディングここまで-------------------本サンプルではピクチャボックスへテキストボックスの文字列を縦書き変換して描いています。フォームロード時にテキストボックスのサイズに合わせて、縦横変換してピクチャボックスのサイズを変更しています。
Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。