Command ボタンの装飾 |
Command ボタンの装飾(ForeColor・Alignment の設定) (119) | |
Option Explicit 'SampleNo=119 WindowsXP VB6.0(SP5) 2002.05.22 'Picture で描画した文字や色をCommandボタンに貼り付けています。 '別途 Command ボタンの Style=1 に設定し,右クリックで最前面に移動 'PictureBox は .Appearance = 0: .BorderStyle = 0 に設定 '下図の実行前参照 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 実行前 実行後 |
|
Command ボタンの Caption はForeColor や Alignmentの設定ができません。 Captionに表示する文字列を左揃えするには文字の後ろにスペースを付加するかAPIを使えば できます。 又、ForeColor は Micrsoft Forms 2.0 Object Library の CommandButton を使用すれば ForeColor も変更できます。 前もって、BMPファイルでボタンの表面の画像を作っておき、それを貼り付ける方法等がありますが、今回は、それらの長所をいかして表示するプロシージャを作ってみました。 方法は、コマンドボタンと同じ大きさのピクチャーを用意しておき、そのピクチャーにプログラム上で表示して貼り付けております。 |