• ベストアンサー

コマンドボタンの文字色

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

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

  • ベストアンサー
  • ugly
  • ベストアンサー率100% (1/1)
回答No.4

Microsoft Forms 2.0 Object Library のコマンドボタンは確かにおかしいですね。こりゃもともとチェックボックスだったのを属性変えて擬似コマンドボタンにしてるよう。VB6 だとアップダウンの処理がおぼつかない感じですね。 で、回避方法はわかりません。 なので、代替案をご紹介します。おすすめはすませんが。 VB6 のチェックボックスを使います。Style プロパティを [1 - グラフィック] にして Click イベント中でチェックボックスの値を 0 にすれば、Forms 2.0 のコマンドボタンと同じような動作になります。 --- どっちにしても擬似なので、先の 1. で紹介したビットマップを用意してコマンドボタンの Picture プロパティを設定する方法のほうがいいと思いますけど。

その他の回答 (4)

  • ugly
  • ベストアンサー率100% (1/1)
回答No.5

チェックボックスを使う方法についてです。 言い忘れましたが、Click イベントはチェックを外した際にも発生するので、重複しないように記述してください。 それと「おすすめは し ません」です。失礼。 こんな感じ Private Sub Check1_Click() If Check1 = 0 Then Exit Sub Check1 = 0 'ここから処理を記述 End Sub

  • Hk2001
  • ベストアンサー率48% (24/49)
回答No.3

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

  • ugly
  • ベストアンサー率100% (1/1)
回答No.2

VB のもともとの機能だけではできないようです。emptyhead さんが示された手法の他には次が考えられます。 1. 文字ではなく、見た目に同じビットマップを貼り付けてみては。実行途中に変化させるならリソースにして呼び出せばOK。 2. MS Office に付いている Microsoft Forms 2.0 Object Library のコマンドボタンなら ForeColor で指定できますが、Office がインストールされていなければなりません。 3. API を使えばできると思いますが、再描画しなくてはならないと思うので面倒です。

mk_jmc
質問者

補足

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

  • emptyhead
  • ベストアンサー率30% (17/55)
回答No.1

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

mk_jmc
質問者

補足

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

関連するQ&A

  • コマンドボタンについて

    コマンドボタンを使用したいのですが、「色」を付けることは可能なんですか?? ボタンそのものと、文字と両方色をつけたいのですが・・・。

  • コマンドボタンに色を付けることは可能ですか?

    こんばんは、 アクセス2003を使用しています。 フォーム上のコマンドボタンに色をつけたいのですがうまくいきません。 プロパティに「前景色」はあるのですが「背景色」はありません。 コマンドボタンを右クリックして「塗り潰し/背景の色」を選択しようとしても選べない状態です。 無理なのでしょうか? よろしくお願いします。

  • VB6で、コマンドボタン自身の色を変更するには?

    VisualBasic6(SP4)を使っています。 いくつかのコマンドボタンをフォームに貼り付けていますが、 このコマンドボタンの標準色は「グレー」になっています。 (ていうか、どのコントロールも、ほとんどグレーが標準のようですが。) フォームであれば、色の変更は「できた」のですが、 コマンドボタンの、色の変更は「できません」でした。 コマンドボタン自身の色って、変更することはできるのでしょうか? ご存じの方、いらっしゃいましたら、ご教示くださいませ。

  • コマンドボタンがきかなくなる

    アクセスのフォーム上にコマンドボタンがいくつかあります。 たまにですが、コマンドボタンを押しても何も反応しなくなる時があります。 プロパティでクリック時に[イベント プロシージャ]と書いてあり、 VBE画面を見てみると ちゃんとイベントが記載してあります。 しかしフォームビューにしてそのコマンドボタンをクリックすると何も起きません。 新規にコマンドボタンを作って、vbe画面で同じイベントを張り付けると 新規のコマンドボタンのほうではクリックしてイベントが実行されます。 だから、その新規のコマンドボタンの名前を変えて使い続けるのですが、 しばらくするとほかのコマンドボタンがまたきかなくなる時があります。 これはアクセスのバグでしょうか? 原因がわかりません。 バージョンは2010です。

  • マクロ コマンドボタンを押すともう一つコマンドボタン

    マクロ初心者です。宜しくお願いします。 コマンドボタンをクリックしたら、指定して開いたファイル上にもうひとつコマンドボタンを追加で表示させることは可能でしょうか? <詳細> ・コマンドボタンを押す ・エクセルのファイルを指定して開く ・指定して開いたファイルの「Sheet1のA1」に新たにコマンドボタンを出現させる。 ・「Sheet1のA1」に現れたコマンドボタンを押すとそのファイルを印刷する。 みたいな事をしたいのですが、可能でしょうか?? 宜しくお願いします。

  • Excel2010のシート上にあるコマンドボタンの文字を編集することは

    Excel2010のシート上にあるコマンドボタンの文字を編集することは出来たのですがこの文字に色をつける方法を教えて下さい。

  • コマンドボタン

    よくわからないのですが エクセルのコントロールツールボックスのコマンドボタンだとイベントはたくさんあるけど、 フォームのコマンドボタンだとクリックボタンしかないのですか? フォームのコントロールはコントロールツールボックスの劣化版と言う感じですか? 添付画像の事です。

  • エクセルのコマンドボタンの文字を

    エクセルに貼り付けたコマンドボタンの文字を、visual basicでの変更でなく、気軽に変更できる方法ってないんでしょうか。 希望としては、指定しているセルの文字をそのままコマンドボタンの文字として変換できる方法があればbestなんですが。 我流なので、詳しく説明していただければうれしいです。 つたない文で分かりにくいかと思いますが、よろしくお願いします。

  • アクセスで条件によるコマンドボタンの使い分け。

    いつもお世話になります。 アクセス2003で納品管理を作成中ですが、商品のレコードに「不使用」のチェックボックスと「注文入力」のコマンドボタンがあります。この「不使用」のチェックボックスがOnの場合は「注文入力」のコマンドボタンをクリックできないようにしたいと考えています。 フォームの形式は帳票フォームになっていますのでそれぞれのレコードによってコマンドボタンがクリックできるものと、できないものにしたいのですが、可能でしょうか。(できたらそのレコードは色も暗くしたいのですが。。。) どなたかご教授よろしくお願いいたします。

  • Word2000のコマンドボタンの使い方

    ワード2000でパソコン操作用の説明書を作成しています。 説明書を見やすくするため、[表示]→[ツールバー]→[コントロールツールボックス]でコマンドボタンを多用しています。 (例)[検索]をクリックしてください。 ところが、一部のボタンの文字が違う文字で印刷されてしまいます。ボタンを右クリックして、プロパティを開き、文字を修正しても直りません。(画面上は直りますが、印刷するとダメなのです。)他のボタンを複写して文字だけ変える手法に問題があるのでしょうか?(=ボタンは1つずつ作成しなくてはいけないのでしょうか?)それとも、このような使い方は間違っているのでしょうか?