私のアプリケーションでは、実行時に一部のテキスト ボックス コントロールに Consolas フォントを設定したいと考えています。Consolas は ClearType フォントであり、ClearType が有効になっている場合にのみ見栄えがするため、ClearType が有効になっているかどうかを確認したいと思います。
ClearType が有効になっているかどうかを確認できますか?
のFontSmoothingTypeプロパティを使用できますSystem.Windows.Forms.SystemInformation
public static bool IsClearTypeEnabled
{
get
{
try
{
return SystemInformation.FontSmoothingType == 2;
}
catch //NotSupportedException
{
return false;
}
}
}
を使用してみてください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