|
▼はつみつ さん:
こんばんわ
>初めまして。
>ユーザフォーム上に丸いボタンを作りたいのですがどうやったら出来ますか?
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を判定して図形範囲に限定する。
(面倒なのでサンプルなし^^)
|
|