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 実行前 実行結果 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 の設定 |