VisualBasic6を使用しています。

コマンドボタンをクリックすると
そのボタンの文字色を変えるようにしたいのですが、
どのようにすれば文字の色を変える事が出来るのでしょうか?

A 回答 (5件)

チェックボックスを使う方法についてです。


言い忘れましたが、Click イベントはチェックを外した際にも発生するので、重複しないように記述してください。
それと「おすすめは し ません」です。失礼。

こんな感じ

Private Sub Check1_Click()

If Check1 = 0 Then Exit Sub
Check1 = 0
'ここから処理を記述

End Sub
    • good
    • 0

Microsoft Forms 2.0 Object Library のコマンドボタンは確かにおかしいですね。

こりゃもともとチェックボックスだったのを属性変えて擬似コマンドボタンにしてるよう。VB6 だとアップダウンの処理がおぼつかない感じですね。
で、回避方法はわかりません。

なので、代替案をご紹介します。おすすめはすませんが。
VB6 のチェックボックスを使います。Style プロパティを [1 - グラフィック] にして Click イベント中でチェックボックスの値を 0 にすれば、Forms 2.0 のコマンドボタンと同じような動作になります。

--- どっちにしても擬似なので、先の 1. で紹介したビットマップを用意してコマンドボタンの Picture プロパティを設定する方法のほうがいいと思いますけど。
    • good
    • 0

みなさんが回答しているように コマンドボタンではできないと思います。


似たようなコントロールだと、Microsoft Visual Studio 6.0 デベロッパに含まれている。Disk3枚目の拡張OCXで SSCommand ていうのがありました。
Sheridan 3D Controls ->THREED32.OCX
しかし、普通はデベロッパなんて買わないからないですよね?それに標準じゃないとめんどくさい手順とかも踏まなきゃだめだし…重くなるし…
見た目は、少し丸みを帯びてていいんですけどね
    • good
    • 0

VB のもともとの機能だけではできないようです。

emptyhead さんが示された手法の他には次が考えられます。

1. 文字ではなく、見た目に同じビットマップを貼り付けてみては。実行途中に変化させるならリソースにして呼び出せばOK。

2. MS Office に付いている Microsoft Forms 2.0 Object Library のコマンドボタンなら ForeColor で指定できますが、Office がインストールされていなければなりません。

3. API を使えばできると思いますが、再描画しなくてはならないと思うので面倒です。

この回答への補足

回答ありがとうございます。
Microsoft Forms 2.0 Object Library のコマンドボタンを使用してみたら
ちゃんとフォントカラーを変えることが出来ました。ただダブルクリックすると
ボタンが凹んでしまう機能が付いているみたいで困っています。
この機能は解除することが出来るのでしょうか?

補足日時:2001/06/28 10:49
    • good
    • 0

ボタンのCaptionの文字色を直接変えることは(わたしには)出来ませんでしたが


裏ワザならあります。
ボタンの上にLabelを貼り付け、LabelのForeColorプロパティーを更新するのです。
で、ボタンクリックのイベント内にLabelのForeColorプロパティーを変更させれば
見た目上、ボタンの文字色が変ったように見えますよ。

この回答への補足

回答ありがとうございます。
コマンドボタンにラベルを貼り付けてみたのですが、
上手く乗っかってくれないみたいなんです・・・・。
ただ重ねるだけでは駄目なのでしょうか?

補足日時:2001/06/28 10:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報

カテゴリ