Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB7
Expertise: Intermediate
Jun 8, 2002

Ensuring that a style is supported by a font family

' Not all fonts support the same styles. This function takes in 
' input a font family and a font style, and returns a font style
' which is safe for that particular font family, by removing
' the styles that are not supported
'
' Example:
'   GetSafeStyleForFontFamily(richTextBox1.SelectionFont.FontFamily,
'  '     richTextBox1.SelectionFont.Style)

Public Function GetSafeStyleForFontFamily(ByVal fontFam As FontFamily, _
    ByVal style As FontStyle) As FontStyle
    ' remove the styles not supported
    If (style And FontStyle.Regular) = FontStyle.Regular Then
        ' if the regular style is currently present, but not supported 
        ' by the new font family, remove it
        If Not fontFam.IsStyleAvailable(FontStyle.Regular) Then
            style = style And Not FontStyle.Regular
        End If
    End If
    ' do the same for bold, italic and underline
    If (style And FontStyle.Bold) = FontStyle.Bold Then
        If Not fontFam.IsStyleAvailable(FontStyle.Bold) Then
            style = style And Not FontStyle.Bold
        End If
    End If
    If (style And FontStyle.Italic) = FontStyle.Italic Then
        If Not fontFam.IsStyleAvailable(FontStyle.Italic) Then
            style = style And Not FontStyle.Italic
        End If
    End If
    If (style And FontStyle.Underline) = FontStyle.Underline Then
        If Not fontFam.IsStyleAvailable(FontStyle.Underline) Then
            style = style And Not FontStyle.Underline
        End If
    End If
    If (style And FontStyle.Strikeout) = FontStyle.Strikeout Then
        If Not fontFam.IsStyleAvailable(FontStyle.Strikeout) Then
            style = style And Not FontStyle.Strikeout
        End If
    End If
    Return style
End Function
Marco Bellinaso
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date