Excel VBA制做简易的Layout
直接上图
直接上GIF
窗体设计图
控件
左部分是一个大Label控件,名字设置SiderBar
里面Logo是Label控件,名字设置Logo
Logo右边是Image控件,名字设置LogoIcon
Logo下面一共设置6个SiderBar,都是 image控件 + Label控件,名字是Sider barOne,SiderBarOneIcon 到 Sider barSix,SiderBaSixIcon
右边是一个frame控件,名字设置成Content
frame里面是一个MultiPage控件
具体代码
Option Explicit
Private Sub LogoIcon_Click()
With Me
If SiderBar.Width = 156 Then
.Logo.Visible = False
.SiderBarOne.Visible = False
.SiderBarTwo.Visible = False
.SiderBarThree.Visible = False
.SiderBarFour.Visible = False
.SiderBarFive.Visible = False
.SiderBarSix.Visible = False
.SiderBar.Width = 48
.LogoIcon.Left = (.SiderBar.Width - .LogoIcon.Width) / 2
.Content.Left = 48
.Content.Width = .Width - .Content.Left
Else
.Logo.Visible = True
.SiderBarOne.Visible = True
.SiderBarTwo.Visible = True
.SiderBarThree.Visible = True
.SiderBarFour.Visible = True
.SiderBarFive.Visible = True
.SiderBarSix.Visible = True
.SiderBar.Width = 156
.LogoIcon.Left = 114
.Content.Left = 156
.Content.Width = .Width - .Content.Left
End If
End With
End Sub
Private Sub SiderBarOne_Click()
Me.MultiPage1.Value = 0
End Sub
Private Sub SiderBarTwo_Click()
Me.MultiPage1.Value = 1
End Sub
Private Sub SiderBarThree_Click()
Me.MultiPage1.Value = 2
End Sub
Private Sub SiderBarFour_Click()
Me.MultiPage1.Value = 3
End Sub
Private Sub SiderBarFive_Click()
Me.MultiPage1.Value = 4
End Sub
Private Sub SiderBarSix_Click()
Me.MultiPage1.Value = 5
End Sub
Private Sub UserForm_Initialize()
With Me
.Logo.Caption = "eProduct"
.Logo.TextAlign = fmTextAlignCenter
.Logo.Font = "微软雅黑"
.Logo.ForeColor = RGB(255, 255, 255)
.Logo.BackStyle = fmBackStyleTransparent
.Logo.Font.Size = 20
.SiderBar.BackColor = RGB(0, 70, 254)
.MultiPage1.Value = 0
End With
End Sub;