-PR-
解決済み

コマンドボタンの文字色

  • 困ってます
  • 質問No.95698
  • 閲覧数2058
  • ありがとう数2
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 10% (50/498)

VisualBasic6を使用しています。

コマンドボタンをクリックすると
そのボタンの文字色を変えるようにしたいのですが、
どのようにすれば文字の色を変える事が出来るのでしょうか?
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.4
レベル5

ベストアンサー率 100% (1/1)

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

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

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

その他の回答 (全4件)

  • 回答No.1
レベル8

ベストアンサー率 30% (17/55)

ボタンのCaptionの文字色を直接変えることは(わたしには)出来ませんでしたが
裏ワザならあります。
ボタンの上にLabelを貼り付け、LabelのForeColorプロパティーを更新するのです。
で、ボタンクリックのイベント内にLabelのForeColorプロパティーを変更させれば
見た目上、ボタンの文字色が変ったように見えますよ。
補足コメント
mk_jmc

お礼率 10% (50/498)

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


  • 回答No.2
レベル5

ベストアンサー率 100% (1/1)

VB のもともとの機能だけではできないようです。emptyhead さんが示された手法の他には次が考えられます。

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

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

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

お礼率 10% (50/498)

回答ありがとうございます。
Microsoft Forms 2.0 Object Library のコマンドボタンを使用してみたら
ちゃんとフォントカラーを変えることが出来ました。ただダブルクリックすると
ボタンが凹んでしまう機能が付いているみたいで困っています。
この機能は解除することが出来るのでしょうか?
投稿日時 - 2001-06-28 10:49:37
  • 回答No.3
レベル9

ベストアンサー率 48% (24/49)

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

ベストアンサー率 100% (1/1)

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

こんな感じ

Private Sub Check1_Click()

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

End Sub
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ