文字列を指定のデバイスコンテキストに描画 <TOP>
PolyTextOut 指定されたデバイスコンテキストで現在選択されているフォントおよびテキストの色を使って、文字列を描画
SetBkMode バックグラウンドの塗りつぶしモード設定
GetDC
指定されたウィンドウのクライアント領域または画面全体を表すディスプレイデバイスコンテキストのハンドルを取得
ReleaseDC
デバイスコンテキストを解放
'================================================================ '= 文字列を指定のデバイスコンテキストに描画 '= (PolyTextOut.bas) '================================================================ #include "Windows.bi" Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Type POLYTEXT x As Long y As Long n As Long lpStr As Long uiFlags As Long rcl As RECT pdx As Long End Type ' 指定されたデバイスコンテキストで現在選択されているフォントおよびテキストの色を使って、文字列を描画 Declare Function Api_PolyTextOut& Lib "gdi32" Alias "PolyTextOutA" (ByVal hDC&, pptxt As POLYTEXT, ByVal cStrings&) ' バックグラウンドの塗りつぶしモード設定 Declare Function Api_SetBkMode& Lib "gdi32" Alias "SetBkMode" (ByVal hDC&, ByVal iBkMode&) ' 指定されたウィンドウのクライアント領域または画面全体を表すディスプレイデバイスコンテキストのハンドルを取得 Declare Function Api_GetDC& Lib "user32" Alias "GetDC" (ByVal hWnd&) ' デバイスコンテキストを解放 Declare Function Api_ReleaseDC& Lib "user32" Alias "ReleaseDC" (ByVal hWnd&, ByVal hDC&) #define TRANSPARENT 1 '背景色を設定しない Var Shared Button1 As Object Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var pt As POLYTEXT Var hDC As Long Var mStr As String Var Ret As Long 'デバイスコンテキストのハンドルを取得 hDC = Api_GetDC(GethWnd) mStr = "札幌市白石区" 'POLYTEXT構造体を設定 pt.n = Len(mStr) pt.lpStr = StrAdr(mStr & Chr$(0)) pt.x = 20 pt.y = 30 'sDCに文字列を描画 Ret = Api_SetBkMode(hDC, TRANSPARENT) Ret = Api_PolyTextOut(hDC, pt, 1) 'hDCの解放 Ret = Api_ReleaseDC(GethWnd, hDC) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End