コマンドボタン内の文字位置設定 <TOP>
コマンドボタン内の文字位置を設定します。
GetWindowLong 指定されたウィンドウの属性を取得
SetWindowLong 指定されたウィンドウの属性を変更
'================================================================ '= コマンドボタン内の文字位置設定
'= (SetWindowLong.bas) '================================================================ #include "Windows.bi" #define BS_LEFT &H100 'ボタンの中にテキストを左揃え #define BS_RIGHT &H200 'ボタンの中にテキストを右揃え #define BS_CENTER &H300 'ボタンの中にテキストを中央揃え #define BS_TOP &H400 'ボタンの上部にテキストを置く #define BS_BOTTOM &H800 'ボタンの下部にテキストを置く #define GWL_STYLE -16 'アプリケーションのインスタンスハンドル ' 指定されたウィンドウの属性を変更 Declare Function Api_SetWindowLong& Lib "user32" Alias "SetWindowLongA" (ByVal hWnd&, ByVal nIndex&, ByVal dwNewLong&) ' 指定されたウィンドウの属性を取得 Declare Function Api_GetWindowLong& Lib "user32" Alias "GetWindowLongA" (ByVal hWnd&, ByVal nIndex&) Var Shared Button(8) As Object For i = 0 To 8 Button(i).Attach GetDlgItem("Button" & Trim$(Str$(i + 1))) Button(i).SetFontSize 14 Next '================================================================ '= '================================================================ Declare Sub Mainform_Start edecl () Sub Mainform_Start() Var Ret As Long For i = 0 To 8 Ret = Api_GetWindowLong(Button(i).GethWnd, GWL_STYLE)
Select Case i
Case 0
Ret = Api_SetWindowLong(Button(i).GethWnd, GWL_STYLE, BS_RIGHT Or Ret)
Case 1
Ret = Api_SetWindowLong(Button(i).GethWnd, GWL_STYLE, BS_CENTER Or Ret)
Case 2
Ret = Api_SetWindowLong(Button(i).GethWnd, GWL_STYLE, BS_LEFT Or Ret)
Case 3
Ret = Api_SetWindowLong(Button(i).GethWnd, GWL_STYLE, BS_TOP Or BS_RIGHT Or Ret)
Case 4
Ret = Api_SetWindowLong(Button(i).GethWnd, GWL_STYLE, BS_TOP Or Ret)
Case 5
Ret = Api_SetWindowLong(Button(i).GethWnd, GWL_STYLE, BS_TOP Or BS_LEFT Or Ret)
Case 6
Ret = Api_SetWindowLong(Button(i).GethWnd, GWL_STYLE, BS_BOTTOM Or BS_RIGHT Or Ret)
Case 7
Ret = Api_SetWindowLong(Button(i).GethWnd, GWL_STYLE, BS_BOTTOM Or Ret)
Case 8
Ret = Api_SetWindowLong(Button(i).GethWnd, GWL_STYLE, BS_BOTTOM Or BS_LEFT Or Ret)
End Select
Button(i).SetFocus
Next
End Sub
'================================================================
'=
'================================================================
While 1
WaitEvent
Wend
Stop
End