• ベストアンサー

Accessのコマンドボタンについて

Accessのコマンドボタンのプロパティには、 背景色の設定がありません。 ネットで検索すると、2つの方法を発見しましたが、 問題が発生します。 以下2つの方法以外に、背景色の設定ができますでしょうか? 【1つ目】 ・方法  コマンドボタンのピクチャプロパティで、  ビットマップを設定することです。 ・問題点  標題より、ピクチャが前面に出るので、標題が見えない!  (大問題です) 【2つめ】 ・方法  ActineXのmicrosoftformsのボタンを使う ・フォントサイズを設定できない!  (大問題です)

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

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.5

ラベルだとフォーカスを移動できないので、 ・コマンドボタンの[書式]→[透明]を「はい」にして、見えなくする。 ・色を付けたラベルの上に重ねる。 ・フォーカスが移動してきた時に分かるように、ラベルのフォントや、色を変更する。 ・マウスのDown、Upでラベルの立体表示を変更。 Private Sub コマンド0_Click()  MsgBox "コマンド実行" End Sub Private Sub コマンド0_Enter()  Me.ラベル0.FontUnderline = True End Sub Private Sub コマンド0_Exit(Cancel As Integer)  Me.ラベル0.FontUnderline = False End Sub Private Sub コマンド0_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)  Me.ラベル0.SpecialEffect = 2 End Sub Private Sub コマンド0_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)  Me.ラベル0.SpecialEffect = 1 End Sub これだと、[Tab]で移動して[Enter]で実行なども出来ます。

androp
質問者

お礼

本当に、ありがとうございます。 これなら、誰が見てもボタンです。

その他の回答 (4)

  • ese_ee
  • ベストアンサー率48% (68/139)
回答No.4

文字も含めたかたちでビットマップを作成して、それを設定する。 というのはどうでしょう?

androp
質問者

お礼

ご意見ありがとうございました。 しかし、ボタンが100個あったら、その分用意するのは、 めんどうくさいです。

androp
質問者

補足

残念ながら、それは、満足な方法とはいえません。 生産的に問題です。

noname#79209
noname#79209
回答No.3

Private Sub ラベル2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Me.ラベル2.SpecialEffect = 2 'Sunken End Sub Private Sub ラベル2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Me.ラベル2.SpecialEffect = 1 'Raised End Sub でダメですか?

androp
質問者

お礼

これは、すばらしいアイデアですね。 ありがとうございます!

回答No.2

へこみませんが、イベントは発生します。 へこまないと不都合でしょうか?

androp
質問者

補足

そうですね。やはり、押している感覚が欲しいですね。 とりあえず、マウスポインタが、ボタンの上に来たとき、 手に変わるようにします。 そのコードをネットで拾いました。【下記コード参照】 他に良い方法は、ありますでしょうか? Option Compare Database Option Explicit 'マウスカーソルを変更するAPI関数 Private Declare Function LoadCursor Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long Private Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long Private Const IDC_HAND = 32649&  'ハンドカーソル Private rcLC As Long        'マウスカーソルの戻り値(形状) 格納用 Private Sub Form_Open(Cancel As Integer) 'マウスポインタを手の形にするためのマウスカーソル取得  rcLC = LoadCursor(0&, IDC_HAND) End Sub Private Sub lblEnd_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)  Call SetCursor(rcLC) End Sub

回答No.1

邪道だと思うかもしれませんが、ラベルを使ってボタンを作ると 色を変えることができます。後は、イベントを記入すれば、コマンド ボタンと同様に操作することができると思います。

androp
質問者

お礼

ご意見ありがとうございました。 とりあえず、みなさまのご意見を参考にします。

androp
質問者

補足

すみませんが、ラベルの場合、クリックした時に、 ボタンのように、へこむことは、できるのでしょうか?

関連するQ&A

専門家に質問してみよう