フォントの文字セット識別子を取得          <TOP>


GetTextCharset 指定されたデバイスコンテキストの現在のフォントの文字セット識別子を取得

GetDC デバイスコンテキストのハンドルを取得

ReleaseDC デバイスコンテキストの解放

 

 

'================================================================
'= フォントの文字セット識別子を取得
'=    (GetTextCharset.bas)
'================================================================
#include "Windows.bi"

' 指定されたデバイスコンテキストの現在のフォントの文字セット識別子を取得
Declare Function Api_GetTextCharset& Lib "gdi32" Alias "GetTextCharset" (ByVal hDC&)

' 指定されたウィンドウのクライアント領域または画面全体を表すディスプレイデバイスコンテキストのハンドルを取得
Declare Function Api_GetDC& Lib "user32" Alias "GetDC" (ByVal hWnd&)

' デバイスコンテキストを解放
Declare Function Api_ReleaseDC& Lib "user32" Alias "ReleaseDC" (ByVal hWnd&, ByVal hDC&)

#define ANSI_CHARSET 0                  'Windows標準文字セット
#define DEFAULT_CHARSET 1               'デフォルト(指定なし)
#define SYMBOL_CHARSET 2                'シンボル文字セット
#define MAC_CHARSET 77                  ' 
#define SHIFTJIS_CHARSET 128            'シフトJIS文字セット
#define HANGEUL_CHARSET 129             'ハングル文字セット
#define JOHAB_CHARSET 130               '韓国版Windows文字セット
#define GB2312_CHARSET 134              '
#define CHINESEBIG5_CHARSET 136         '中国語文字セット
#define GREEK_CHARSET 161               '
#define TURKISH_CHARSET 162             '
#define VIETNAMESE_CHARSET 163          '
#define HEBREW_CHARSET 177              '中東語版Windows(ヘブライ語)文字セット
#define ARABIC_CHARSET 178              '中東語版Windows(アラビア語)文字セット
#define BALTIC_CHARSET 186              '
#define RUSSIAN_CHARSET 204             '
#define THAI_CHARSET 222                'タイ版Windows文字セット
#define EASTEUROPE_CHARSET 238          '
#define OEM_CHARSET 255                 'OEM文字セット

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 Sub Button1_on edecl ()
Sub Button1_on()
    Var hDC As Long
    Var hChr As String
    Var Ret As Long

    hDC = Api_GetDC(GethWnd)

    Ret = Api_GetTextCharset(hDC)

    Select Case Ret
        Case 0
            hChr = "ANSI_CHARSET"
        Case 1
            hChr = "DEFAULT_CHARSET"
        Case 2
            hChr = "SYMBOL_CHARSET"
        Case 128
            hChr = "SHIFTJIS_CHARSET"
        Case 129
            hChr = "HANGEUL_CHARSET"
        Case 134
            hChr = "GB2312_CHARSET"
        Case 136
            hChr = "CHINESEBIG5_CHARSET"
        Case 255
            hChr = "OEM_CHARSET"
    End Select

    Text1.SetWindowtext hChr

    Ret = Api_ReleaseDC(GethWnd, hDC)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End