Results 1 to 3 of 3

Thread: Font styles in a RichTextBox *[RESOLVED]*

  1. #1

    Thread Starter
    Hyperactive Member RealNickyDude's Avatar
    Join Date
    Nov 2002
    Location
    Watching you through the hidden camera :o
    Posts
    435

    Post Font styles in a RichTextBox *[RESOLVED]*

    I have the following code which applies font styles to the selected text in a RichTextBox:

    Code:
    Public Sub AddFontStyle(ByVal rtb As RichTextBox, _
            ByVal style As System.Drawing.FontStyle)
            ' if the selection length is > 0, work char by char.
            ' This is necessary because the selected text may have different
            ' styles in different substrings, and we want to preserve all
            ' the original styles of any char, and just add the specified one
            If rtb.SelectionLength > 0 Then
                Dim selStart As Integer = rtb.SelectionStart
                Dim selLength As Integer = rtb.SelectionLength
                Dim currFont As System.Drawing.Font
                Dim currStyle As System.Drawing.FontStyle
    
                Dim count As Integer
                For count = 0 To selLength - 1
                    ' select 1 char
                    rtb.Select(selStart + count, 1)
                    ' get the font of the selected char
                    currFont = rtb.SelectionFont
                    ' get the current style of this char, and add the 
                    ' specified style
                    currStyle = currFont.Style
                    currStyle = currStyle Or style
                    ' create and assign to the char a new font 
                    ' with the new style this may throw an exception, 
                    ' is the current font family does not support
                    ' the specified style, so handle this possible situation
                    Try
                        rtb.SelectionFont = New Font(currFont.FontFamily, currFont.Size, _
                            currStyle)
                    Catch ex As Exception
                    End Try
                Next
                ' reselect the original selection
                rtb.Select(selStart, selLength)
            Else
                rtb.SelectionFont = New Font(rtb.SelectionFont, _
                    rtb.SelectionFont.Style Or style)
            End If
        End Sub
    (Not mine i might add )

    This takes into account styles already applied, (so you can have, for example, bold and italic)

    The trouble is that it doesn't remove the style, I have a bold button and want it so that it's a toggle (bold on, bold off...), I have the button part worked out
    Code:
        Private Sub butBold_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butBold.Click
            If textbold = False Then
                AddFontStyle(rtbSectionText, FontStyle.Bold)
                textbold = True
            Else
                AddFontStyle(rtbSectionText, FontStyle.Regular)
                textbold = False
            End If
            rtbSectionText.Focus()
            MessageBox.Show("Textbold = " & textbold)
        End Sub
    But the text just stay's bold! Does anyone have any ideas? NOTE: I have already set textbold to false.
    Last edited by RealNickyDude; May 8th, 2004 at 06:27 AM.
    [vbcode]
    On Error GoTo Hell
    [/vbcode]:¬) Nicky : Why not try VBCodebook.NET.

  2. #2
    Addicted Member
    Join Date
    Aug 2002
    Posts
    224
    Hi,

    If RichTextBox1.SelectionFont.Bold Then
    RichTextBox1.SelectionFont = New Font(RichTextBox1.SelectionFont, (RichTextBox1.SelectionFont.Style And Not (RichTextBox1.SelectionFont.Style And FontStyle.Bold)))
    Else
    RichTextBox1.SelectionFont = New Font(RichTextBox1.SelectionFont, (RichTextBox1.SelectionFont.Style Or FontStyle.Bold))
    End If

    Have a nice day

  3. #3

    Thread Starter
    Hyperactive Member RealNickyDude's Avatar
    Join Date
    Nov 2002
    Location
    Watching you through the hidden camera :o
    Posts
    435
    Thanks again yulyos
    [vbcode]
    On Error GoTo Hell
    [/vbcode]:¬) Nicky : Why not try VBCodebook.NET.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width