ステータスバースタイルでテキストを表示 <TOP>
DrawStatusText ステータスバースタイルでテキストを表示
GetDC デバイスコンテキストのハンドルを取得
ReleaseDC デバイスコンテキストを解放
GetSysColor システムの背景色を取得
ステータスバースタイル(フレーム)でテキストを表示します。1行目はフラット、2行目は凹型フレーム、3行目は凸型フレームです。
'================================================================ '= ステータスバースタイルでテキストを表示 '= (DrawStatusText.bas) '================================================================ #include "Windows.bi" Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type ' ステータスバースタイルでテキストを表示 Declare Sub Api_DrawStatusText Lib "comctl32" Alias "DrawStatusTextA" (ByVal hDC&, DrawRect As RECT, ByVal Text$, ByVal Flags&) ' RECT構造体の座標値を拡大・縮小 Declare Sub Api_InflateRect Lib "user32" Alias "InflateRect" (lpRect As RECT, ByVal x As Long, ByVal y As Long) ' 指定されたウィンドウのクライアント領域または画面全体を表すディスプレイデバイスコンテキストのハンドルを取得 Declare Function Api_GetDC& Lib "user32" Alias "GetDC" (ByVal hWnd&) ' デバイスコンテキストを解放 Declare Function Api_ReleaseDC& Lib "user32" Alias "ReleaseDC" (ByVal hWnd&, ByVal hDC&) ' システムの背景色を取得 Declare Function Api_GetSysColor& Lib "user32" Alias "GetSysColor" (ByVal nIndex&) #define COLOR_BTNFACE 15 '3Dオブジェクトの表面色 #define SBT_NOBORDERS &H100 '枠線なし #define SBT_POPOUT &H200 '凸型枠 #define SBT_RTLREADING &H400 'テキストは右から左に表示 #define SBT_SUNKEN &H0 '凹型枠(デフォルト) Var Shared Button1 As Object Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub MainForm_Start edecl () Sub MainForm_Start() Var rgbColor As Long 'Buttonの表面色を取得(EDE9EC) rgbColor = Api_GetSysColor(COLOR_BTNFACE) 'Mainformを取得色で塗り SetBackColor rgbColor '画面を消去し cls 'Mainformを表示 ShowWindow -1 End Sub '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var rc As RECT Var hDC As Long Var txt As String Var Ret As Long txt = "http://tokovalue.web.infoseek.co.jp" hDC = Api_GetDC(GethWnd) rc.Left = 10 rc.Top = 8 rc.Right = 255 rc.Bottom = 40 'フラット Api_DrawStatusText hDC, rc, txt, SBT_NOBORDERS rc.Top = 43 rc.Bottom = 75 '凹型フレーム Api_DrawStatusText hDC, rc, txt, SBT_SUNKEN rc.Top = 78 rc.Bottom = 110 '凸型フレーム Api_DrawStatusText hDC, rc, txt, SBT_POPOUT Ret = Api_ReleaseDC(GethWnd, hDC) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End