コマンドボタンの文字色を指定するには?

解決


聖二  2004-06-03 18:20:39  No: 83774  IP: [192.*.*.*]

いつも本当にありがとうございます。

コマンドボタンの文字色は変更できるでしょうか。
具体的には黒から赤に変更したいのです。

よろしくお願い致します。
VB6 SP6です。

編集 削除
nanashi  2004-06-03 18:48:14  No: 83775  IP: [192.*.*.*]

普通出来ません。
やったことはありませんが、オーナードローすれば出来るらしいです。

編集 削除
聖二  2004-06-03 19:11:06  No: 83776  IP: [192.*.*.*]

ありごうございます。

オーナードローとは、どうすればいいのでしょうか。
申し訳ありませんが、もう少し教えて下さい。

編集 削除
とろ  2004-06-03 20:44:10  No: 83777  IP: [192.*.*.*]

難しく考えず手っ取り早くするなら黒と赤の文字を描いたピクチャを
必要に応じてセットしてやることでも変化したように見えますね。

編集 削除
聖二  2004-06-03 23:02:44  No: 83778  IP: [192.*.*.*]

とろさん、ありがとうございます。

そうですね。私もピクチャボックスに文字を描くことを考えていました。
その際に、ピクチャボックスは既定では、ちょうどコマンドボタンと反対の
下にくぼんだ様になっていますね。
これを、コマンドボタンのように上に飛び出たように設定できないでしょうか。
見た目上コマンドボタンと大差無くなれば、問題なくなりますね。

編集 削除
Say  2004-06-03 23:13:09  No: 83779  IP: [192.*.*.*]

とろさんは
コマンドボタンに絵を貼るよう
言われていると思いますが。

編集 削除
魔界の仮面弁士  2004-06-04 02:22:53  No: 83780  IP: [192.*.*.*]

CommandButtonの代わりに、OptionButton または CheckBox を
使ってみては如何でしょう。手元にVB6が無いので確認できませんが、
Styleプロパティを変更することで、文字色の指定ができたと思います。

# この場合、ボタンが「押されたまま」の状態になってしまうので、
# それを戻すためのコードを含める必要がありますけどね。

編集 削除
ぴろあき  2004-06-04 09:45:54  No: 83781  IP: [192.*.*.*]

コマンドボタンの上にテキストボックスを貼ってはどうでしょう?

#でも厳密にはテキストボックス上の、
#右クリックにも対応しなければいけないですね。
#そこまでやるのはちょっと面倒かも。。。
#DeleteMenuとかでできなくも無いと思いますが。。。

Private Sub Form_Load()
    With Text1
        .BorderStyle = 0        '境界線なし
        .BackColor = &H8000000F 'ボタンの表面
        .ForeColor = vbRed
        .Text = "テスト(&T)"
        .TabStop = False
        .Locked = True
    End With
    Command1.Caption = "(&T)"
End Sub

Private Sub Text1_Click()
    Command1.Value = True
    'Call Command1_Click
End Sub

Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Screen.MousePointer = vbArrow
End Sub

Private Sub Command1_Click()
    MsgBox "コマンドボタンが押されました"
End Sub

編集 削除
聖二  2004-06-06 09:12:18  No: 83782  IP: [192.*.*.*]

皆様、いろいろなアドバイスをいただき、本当にありがとうございます。
まことに、恐れ入ります。

私は、最初、コマンドボタンの上にラベルを配置するということを
考えましたが、どうもコマンドボタンの上にラベルは配置できない
というか、ラベルを上にもってくる、というのは出来ないので
どうしようかと思っていました。
今回は、ぴろあきさんのご指導のように、テキストボックスを配置してみました。
テキストボックスだと、コマンドボタンの上に配置できるのですね。
ぴろあきさんのコードで試したところ、コマンドボタン単体と
何も変わらずに作動しました。
たぶん、普通はボタンの上で右クリックはしない思われますので
これで、十分だと思われます。

皆様、本当にありがとうございました。
解決とさせていただきます。

編集 削除