Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6804 / 13644 ツリー ←次へ | 前へ→

【42988】丸いボタンを作りたい はつみつ 06/9/28(木) 18:29 質問[未読]
【43021】Re:丸いボタンを作りたい Jaka 06/9/29(金) 11:15 発言[未読]
【43042】Re:丸いボタンを作りたい 漂流民 06/9/30(土) 1:17 発言[未読]

【42988】丸いボタンを作りたい
質問  はつみつ  - 06/9/28(木) 18:29 -

引用なし
パスワード
   初めまして。
ユーザフォーム上に丸いボタンを作りたいのですがどうやったら出来ますか?

【43021】Re:丸いボタンを作りたい
発言  Jaka  - 06/9/29(金) 11:15 -

引用なし
パスワード
   ▼はつみつ さん:
>ユーザフォーム上に丸いボタンを作りたいのですがどうやったら出来ますか?
97以前の※ダイアログシートを使えば何とかできますが...。
ユーザーフォーム上だと無理だと思います。
せいぜいボタンに丸い図形を表示するだけだと思います。
(APIを使えばできるのかもしれませんが、見たことがありません。)

ダイアログシート上にシャープの○図形を作って、それにマクロ登録するといった具合なんですが、97以前のマクロの書き方を知っている人は、あまりいないと思います。
因みに、ダイアログシートは、現ユーザーフォームより便利な点もありますが、全体的に劣った物です。

※ダイアログシート
Ctrlを押しながら、シート挿入すると
97以前で主要の4.0マクロシートやダイアログシートが作れます。

【43042】Re:丸いボタンを作りたい
発言  漂流民  - 06/9/30(土) 1:17 -

引用なし
パスワード
   ▼はつみつ さん:
こんばんわ

>初めまして。
>ユーザフォーム上に丸いボタンを作りたいのですがどうやったら出来ますか?
VBAで用意されているコントロールには無いと思います。

ただ、アイコンまたは透過GIFを使って、丸いボタン”もどき”は作れます。
アイコン(24x24)を使う場合、

1.準備
  丸いボタンのアイコンを色違いで2つ作成
  D:\TESTフォルダを作成してその中にそれぞれTEST1.ICO、TEST2.ICOとして保存。
2.ブック作成
  UserForm1にLabel1を作成し各モジュールに下記コードを入れる

'標準モジュール
Sub test()
  UserForm1.Show
End Sub

'ユーザーフォームモジュール
Private Sub UserForm_Initialize()
  With Label1
    .Caption = ""
    .Picture = LoadPicture("D:\TEST\TEST1.ICO")
    .BackStyle = fmBackStyleTransparent
    .Width = 24
    .Height = 24
  End With
End Sub

Private Sub Label1_Click()
  MsgBox "OK"
End Sub

Private Sub Label1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  Label1.Picture = LoadPicture("D:\TEST\TEST2.ICO")
End Sub

Private Sub Label1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  Label1.Picture = LoadPicture("D:\TEST\TEST1.ICO")
End Sub


3.こだわり
  このままではラベルの範囲(四角)がクリックの対象になるので、
  X、Yを判定して図形範囲に限定する。
  (面倒なのでサンプルなし^^)

6804 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free