- ベストアンサー
コマンドボタンの文字色
VisualBasic6を使用しています。 コマンドボタンをクリックすると そのボタンの文字色を変えるようにしたいのですが、 どのようにすれば文字の色を変える事が出来るのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
Microsoft Forms 2.0 Object Library のコマンドボタンは確かにおかしいですね。こりゃもともとチェックボックスだったのを属性変えて擬似コマンドボタンにしてるよう。VB6 だとアップダウンの処理がおぼつかない感じですね。 で、回避方法はわかりません。 なので、代替案をご紹介します。おすすめはすませんが。 VB6 のチェックボックスを使います。Style プロパティを [1 - グラフィック] にして Click イベント中でチェックボックスの値を 0 にすれば、Forms 2.0 のコマンドボタンと同じような動作になります。 --- どっちにしても擬似なので、先の 1. で紹介したビットマップを用意してコマンドボタンの Picture プロパティを設定する方法のほうがいいと思いますけど。
その他の回答 (4)
- ugly
- ベストアンサー率100% (1/1)
チェックボックスを使う方法についてです。 言い忘れましたが、Click イベントはチェックを外した際にも発生するので、重複しないように記述してください。 それと「おすすめは し ません」です。失礼。 こんな感じ Private Sub Check1_Click() If Check1 = 0 Then Exit Sub Check1 = 0 'ここから処理を記述 End Sub
- Hk2001
- ベストアンサー率48% (24/49)
みなさんが回答しているように コマンドボタンではできないと思います。 似たようなコントロールだと、Microsoft Visual Studio 6.0 デベロッパに含まれている。Disk3枚目の拡張OCXで SSCommand ていうのがありました。 Sheridan 3D Controls ->THREED32.OCX しかし、普通はデベロッパなんて買わないからないですよね?それに標準じゃないとめんどくさい手順とかも踏まなきゃだめだし…重くなるし… 見た目は、少し丸みを帯びてていいんですけどね
- ugly
- ベストアンサー率100% (1/1)
VB のもともとの機能だけではできないようです。emptyhead さんが示された手法の他には次が考えられます。 1. 文字ではなく、見た目に同じビットマップを貼り付けてみては。実行途中に変化させるならリソースにして呼び出せばOK。 2. MS Office に付いている Microsoft Forms 2.0 Object Library のコマンドボタンなら ForeColor で指定できますが、Office がインストールされていなければなりません。 3. API を使えばできると思いますが、再描画しなくてはならないと思うので面倒です。
- emptyhead
- ベストアンサー率30% (17/55)
ボタンのCaptionの文字色を直接変えることは(わたしには)出来ませんでしたが 裏ワザならあります。 ボタンの上にLabelを貼り付け、LabelのForeColorプロパティーを更新するのです。 で、ボタンクリックのイベント内にLabelのForeColorプロパティーを変更させれば 見た目上、ボタンの文字色が変ったように見えますよ。
補足
回答ありがとうございます。 コマンドボタンにラベルを貼り付けてみたのですが、 上手く乗っかってくれないみたいなんです・・・・。 ただ重ねるだけでは駄目なのでしょうか?
補足
回答ありがとうございます。 Microsoft Forms 2.0 Object Library のコマンドボタンを使用してみたら ちゃんとフォントカラーを変えることが出来ました。ただダブルクリックすると ボタンが凹んでしまう機能が付いているみたいで困っています。 この機能は解除することが出来るのでしょうか?