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.その他、当サイト内に掲載しているコマンドボタンに関するサンプル


4.コマンドボタンの装飾(ForeColor / フォント色の設定他)
1.コマンドボタンの装飾(ForeColor / フォント色の設定他)
2. 
3. 
4. 
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:
使用 API:
その他 :
    :
このページのトップへ移動します。 1.コマンドボタンの装飾(ForeColor / フォント色の設定他)
Picture で描画した文字や色をCommandボタンに貼り付けています。
別途 Command ボタンの Style=1 に設定し,右クリックで最前面に移動し、PictureBox は .Appearance = 0: .BorderStyle = 0 に設定(下図の実行前参照)

Option Explicit   'SampleNo=119 2002.05.22

Private Sub Command4_Click()
  'Command ボタンとPictureボックスの表示位置を同じに
  '別途 Picture を右クリックして最背面へ移動して置いて下さい。
  Call sCaptionSet(Command1, "ボタンの装飾", QBColor(15), 0)
  Call sCaptionSet(Command2, "ボタンの装飾", QBColor(14), 1)
  Call sCaptionSet(Command3, "ボタンの装飾", QBColor(12), 2)
End Sub

'================================================================
'      |ComBut   :表示するCommand ボタン名
' 〃⌒⌒ヽ |myCaption :Command ボタンに表示する文字
'..ノノノノ) |ForCor   :ForeColor
'★§∩ ∩ |AlignM   :Alignment 0=左揃え 1=右揃え 2=中央揃え
'彡人 ▽ノ |Pictu   :Captionを作成するPictureBox名
'   -   |
'      |CommandButtonのプロパティで設定できる部分は設定して置いて下さい
'================================================================
Private Sub sCaptionSet(ComBut As CommandButton, myCaption As String, _
            ForCor As Long, AlignM As Integer)
  'ピクチャーボックスの設定
  With Picture1
    .Move ComBut.Left, ComBut.Top, ComBut.Width, ComBut.Height
    .AutoRedraw = True
    .Cls
    .ForeColor = ForCor
    'Caption 以外はCommand ボタンのプロパティで設定して下さい
    '後はCommand ボタンのプロパティの通りの設定
    .BackColor = ComBut.BackColor
    .FontBold = ComBut.FontBold
    .FontName = ComBut.FontName
    .FontSize = ComBut.FontSize
    .FontItalic = ComBut.FontItalic
    .FontUnderline = ComBut.FontUnderline
  End With

  If AlignM > 2 Or AlignM < 1 Then
    AlignM = 0
  End If

  With Picture1
    Select Case AlignM
      Case 0  '左揃え
        .CurrentX = 100 '余白分
        .CurrentY = (ComBut.Height - .TextHeight("W")) \ 2
      Case 1  '右揃え
        .CurrentX = (ComBut.Width - .TextWidth(myCaption)) - 100
        .CurrentY = (ComBut.Height - .TextHeight("W")) \ 2
      Case 2  '中央揃え
        .CurrentX = (ComBut.Width - .TextWidth(myCaption)) \ 2
        .CurrentY = (ComBut.Height - .TextHeight("W")) \ 2
    End Select
  End With
  'Picture Box にCaption の内容を描画する
  Picture1.Print myCaption
  'Picture BoxをコマンドボタンのCaptionに貼り付け
  Set ComBut.Picture = Picture1.Image
End Sub

  実行前                   実行結果
 commandbutton04_01.gif commandbutton04_02.gif


Command ボタンの Caption はForeColor Alignmentの設定ができません。
Captionに表示する文字列を左揃えするには文字の後ろにスペースを付加するかAPIを使えばできます。
又、ForeColor は Micrsoft Forms 2.0 Object Library の CommandButton を使用すれば ForeColor も変更できます。
前もって、BMPファイルでボタンの表面の画像を作っておき、それを貼り付ける方法等がありますが、今回は、それらの長所をいかして表示するプロシージャを作ってみました。
方法は、コマンドボタンと同じ大きさのピクチャーを用意しておき、そのピクチャーにプログラム上で表示して貼り付けております。

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



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


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


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


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


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
コマンドボタンの ForeColor の設定 コマンドボタンのフォント色の設定
Command2.Caption 等に左揃え・右揃えで文字を表示 Alignment のない箇所で Alignment の設定 指定文字数の中で(左・中央・右)揃えに表示する 
コマンドボタンで文字列を左揃え コマンドボタンで文字列を中央揃え コマンドボタンで文字列を右揃え コマンドボタンの Alignment の設定

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