スクリーンフォントサイズを取得 <TOP>
スクリーンフォントサイズを取得します。
GetDesktopWindow デスクトップハンドルを取得
GetDeviceCaps デバイス固有の情報を取得
左:小さいフォントに設定 右:大きいフォントに設定
確認
参照
'================================================================ '= スクリーンフォントサイズを取得 '= (ScreenFontSize.bas) '================================================================ #include "Windows.bi" #define LOGPIXELSX 88 #define LOGPIXELSY 90 ' Windowsのデスクトップウィンドウを識別。返されるポインタは、一時的なポインタ。後で使用するために保存しておくことはできない Declare Function Api_GetDesktopWindow& Lib "user32" Alias "GetDesktopWindow" () ' デバイス固有の情報を取得 Declare Function Api_GetDeviceCaps& Lib "gdi32" Alias "GetDeviceCaps" (ByVal hDC&, ByVal nIndex&) ' 指定されたウィンドウのクライアント領域または画面全体を表すディスプレイデバイスコンテキストのハンドルを取得 Declare Function Api_GetDC& Lib "user32" Alias "GetDC" (ByVal hWnd&) ' デバイスコンテキストを解放 Declare Function Api_ReleaseDC& Lib "user32" Alias "ReleaseDC" (ByVal hWnd&, ByVal hDC&) Var Shared Text1 As Object Var Shared button1 As Object Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14 Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Function IsScreenFontSmall() As Integer Function IsScreenFontSmall() As Integer Var hWndDesk As Long Var hDCDesk As Long Var logPix As Long Var Ret As Long 'デスクトップのハンドル取得 hWndDesk = Api_GetDesktopWindow() 'デスクトップのデバイスコンテキスト取得 hDCDesk = Api_GetDC(hWndDesk) '水平の論理ピクセル取得 logPix = Api_GetDeviceCaps(hDCDesk, LOGPIXELSX) 'デバイスコンテキスト解放 Ret = Api_ReleaseDC(hWndDesk, hDCDesk) 'logPixの値が96である場合システムは小さいフォントを使用している IsScreenFontSmall = logPix End Function '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() If IsScreenFontSmall = 96 Then Text1.SetWindowText "システムは小さいフォントを使用しています" Else Text1.SetWindowText "システムは大きいいフォントを使用しています" End If End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End