3

私のアプリケーションでは、実行時に一部のテキスト ボックス コントロールに Consolas フォントを設定したいと考えています。Consolas は ClearType フォントであり、ClearType が有効になっている場合にのみ見栄えがするため、ClearType が有効になっているかどうかを確認したいと思います。

ClearType が有効になっているかどうかを確認できますか?

4

3 に答える 3

2

のFontSmoothingTypeプロパティを使用できますSystem.Windows.Forms.SystemInformation

public static bool IsClearTypeEnabled
{
    get
    {
        try
        {
            return SystemInformation.FontSmoothingType == 2;
        }
        catch //NotSupportedException
        {
            return false;
        }
    }
}
于 2014-01-21T16:50:52.417 に答える
1

を使用してみてくださいSystemParametersInfo。詳細については、次のリンクを参照してください。

およびサンプルコード:

Private Declare Function SystemParametersInfo Lib "user32" Alias
    "SystemParametersInfoA" (ByVal uAction As Integer, _
    ByVal uParam As Integer, ByRef lpvParam As Integer, _
    ByVal fuWinIni As Integer) As Boolean

Private Const SPI_GETFONTSMOOTHINGTYPE As Integer = &H200A
Private Const FE_FONTSMOOTHINGCLEARTYPE As Integer = 2

Private Function IsClearTypeEnabled() As Boolean
    Dim uiType As Integer = 0
    Return SystemParametersInfo(SPI_GETFONTSMOOTHINGTYPE, 0, uiType, 0)
    AndAlso uiType = FE_FONTSMOOTHINGCLEARTYPE
End Function
于 2013-01-10T08:17:32.993 に答える