縦書きで表示するには?


ROM  2002-05-15 18:00:27  No: 104272

初心者の質問で申し訳ありません。

今、葉書印刷のフォームを作ろうとしているのですが、
文字を縦書きにする方法がよくわかりません。
テキストボックスのMultiLineをTrueにすれば、縦書きっぽくなるのですが、
”−”は縦にならず横のままで表示されてしまい、”()”を表示しようとすると、すべて一列に表示してしまうため、ばらばらになってしまいます。
どのようにすれば良いのかまったくわかりません。よろしくお願いします。
また、ラベルでも縦書きにする事は可能なのでしょうか?


YuO  2002-05-15 18:14:43  No: 104273

専用のコントロールを使うのが一番早いですね。
あとは,APIでゴリゴリと書くか……。

標準のコントロールでは縦書き表示はまともにできません。

see : CreateFont API


Say  2002-05-15 22:43:46  No: 104274

RichTextBoxを使うなら、たとえばこんなかんじ

Option Explicit
Private Declare Function SendMessage Lib "user32.dll" _
    Alias "SendMessageA" _
   (ByVal hwnd As Long, _
    ByVal Msg As Long, _
    ByVal wParam As Long, _
    lParam As Any) As Long

Private Sub Command1_Click()
    Dim lngWin32apiResultCode As Long
    With RichTextBox1
        .Visible = False
        .Text = "(あい_うえお)" & vbCrLf & "(かき_くけこ)"
        lngWin32apiResultCode = _
            SendMessage(.hwnd, _
                        &H44D&, _
                        &H2&, _
                        ByVal CLng(&H400000))
        .Visible = True
    End With
End Sub


CHUN  2003-01-22 01:43:13  No: 104275

具体的にはラベルの縦書きはどのAPIを使用すればよいのでしょうか

解答よろしくおねがいします^^


たかみちえ  URL  2003-01-22 03:07:34  No: 104276

ラベルに縦書きをする機能はありません。
PictureBoxに手書きしましょう。
APIのなまえはわすれましたけど、"VB 縦書き"などで、
検索をしてみるといいでしょう。

  または、一文字ごとに改行を入れても縦に表示できます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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