[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/06/05(Mon) 12:50
投稿者名:おじん
Eメール:
URL :
タイトル:
RichTextBoxのフォント指定の方法
RichTextBoxでいろいろなフォントの文字を表示したい。
具体例としては、化学式などで見られる C2H5ONa
CHNは大きく、25は小さく。(aは小文字を使用する)。
下のようにしてみたのですが、文字を入力時には小さく見えるのですが
決定されたとき、前の文字の大きさになってしまいます。
よろしくご指導ください。

VB6(SP4)、WindowsXPです。

Option Explicit

Private Sub Form_Click()
    Static flg As Boolean
    With RichTextBox1
        flg = Not flg
        .Text = .Text & "H"
        .SelStart = Len(.Text) - 1
        .SelLength = 1
        If flg Then
            .SelFontSize = 22
        Else
            .SelFontSize = 18
        End If
        .SelStart = Len(.Text)'選択された状態を回避するための苦し紛れ
        .SetFocus             '
    End With
End Sub

Private Sub Form_Load()
    RichTextBox1.Text = ""
End Sub

投稿時間:2006/06/05(Mon) 14:39
投稿者名:GOD
Eメール:
URL :
タイトル:
Re: RichTextBoxのフォント指定の方法
> RichTextBoxでいろいろなフォントの文字を表示したい。
> 具体例としては、化学式などで見られる C2H5ONa
> CHNは大きく、25は小さく。(aは小文字を使用する)。
> 下のようにしてみたのですが、文字を入力時には小さく見えるのですが
> 決定されたとき、前の文字の大きさになってしまいます。
> よろしくご指導ください。
>
こんなのでどうですか。
    With RichTextBox1
        flg = Not flg
        If flg Then
            .SelFontSize = 22
        Else
            .SelFontSize = 18
        End If
        .SelStart = Len(.Text)
        .SelText = "H"
        .SetFocus
    End With

投稿時間:2006/06/05(Mon) 14:55
投稿者名:おじん
Eメール:
URL :
タイトル:
Re^2: お礼。ありがとうございました
>> こんなのでどうですか。
>     With RichTextBox1
>         flg = Not flg
>         If flg Then
>             .SelFontSize = 22
>         Else
>             .SelFontSize = 18
>         End If
>         .SelStart = Len(.Text)
>         .SelText = "H"
>         .SetFocus
>     End With
期待どおりに動きました。
いつものことながら、ありがとうございました。
要は.SelFontSizeの位置、前後のプロパティの使用法が
理解できなかったようです。
.SelTextについては内容が分からずテストしませんでした。
なるほど、というしかありません。
また、よろしくおねがいいたします。