3.Win32 API を使っての Command ボタンの Caption の Alignment を設定 |
1.Win32 API を使っての Command ボタンの Caption の Alignment を設定 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定: 使用 API:SetWindowLong / GetWindowLong その他 :このサンプルは、 Win32 APIを使用しておりますので、ある程度Win32 API が理解できる方がお使い下さい。 :
|
1.Win32 API を使っての Command ボタンの Caption の Alignment を設定 |
Option Explicit 'SampleNo=118 2002.05.22 'ウィンドウに関するデータを取得する(P59) Private Declare Function GetWindowLong Lib "user32" _ Alias "GetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long) As Long 'ウィンドウに関する属性を変更する(P60) Private Declare Function SetWindowLong Lib "user32" _ Alias "SetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Const GWL_STYLE = (-16) 'ウィンドウスタイル Private Const BS_LEFT = &H100& '左揃え Private Const BS_RIGHT = &H200& '右揃え Private Const BS_CENTER = &H300& '中央揃え '************************************************* '* MyCmdButton = CommandButton名 '* Alignment=0 左揃え '* Alignment=1 右揃え '* Alignment=2 中央揃え '************************************************* Private Sub sCmdAlignment(MyCmdButton As CommandButton, Alignment As Integer) Dim lngResult As Long With MyCmdButton lngResult = GetWindowLong(.hwnd, GWL_STYLE) Select Case Alignment Case 0 '左揃え lngResult = lngResult Or BS_LEFT Case 1 '右揃え lngResult = lngResult Or BS_RIGHT Case Else '中央揃え lngResult = lngResult Or BS_CENTER End Select lngResult = SetWindowLong(.hwnd, GWL_STYLE, lngResult) .Refresh End With End Sub Private Sub Command1_Click() '左揃え Call sCmdAlignment(Command1, 0) End Sub Private Sub Command2_Click() '右揃え Call sCmdAlignment(Command2, 1) End Sub Private Sub Command3_Click() '中央揃え Call sCmdAlignment(Command3, 2) End Sub Private Sub Form_Load() Call sCmdAlignment(Command3, 0) End Sub 基本的に、2.Command1.Caption 等に左揃え・右揃えで文字を表示と動作は同じですが、こちらはWin32 API 関数を使って実現しております。 |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
Command2.Caption 等に左揃え・右揃えで文字を表示 Alignment のない箇所で Alignment の設定 指定文字数の中で(左・中央・右)揃えに表示する コマンドボタンで文字列を左揃え コマンドボタンで文字列を中央揃え コマンドボタンで文字列を右揃え コマンドボタンの Alignment の設定 |