VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 コマンドボタン関係のメニュー
1.Command ボタンに関するワンポイントテクニック集
2.Command1.Caption 等に左揃え・右揃えで文字を表示
3.Win32 API を使っての Command ボタンの Caption の Alignment を設定
4.コマンドボタンの装飾(ForeColor / フォント色の設定他)
5. コマンドボタンでダブルクリックイベントを取得する
6.コマンドボタン上でのリピート操作を実装する
7.キーボードフックによるコマンドボタン上での検出できないキーの監視
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.その他、当サイト内に掲載しているコマンドボタンに関するサンプル


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 の設定

このページのトップへ移動します。