新建一个标准工程 增加一个标准模块,模块内代码如下:Option Explicit Public Enum states Normal = 0 Disable = 1 ReadOnly = 2 End EnumPublic Function xptxt(txt As TextBox, pic As PictureBox, State As states) txt.BorderStyle = 0 pic.BorderStyle = 0
If State = Normal Then txt.BackColor = vbWhite txt.Enabled = True txt.Locked = False ElseIf State = Disable Then txt.Enabled = False txt.BackColor = RGB(235, 235, 228) txt.ForeColor = RGB(161, 161, 146) ElseIf State = ReadOnly Then txt.Enabled = True txt.Locked = True End If End Function 窗体内放一个picture box,在这个pic里面再放一个textbox 窗体内代码:Option ExplicitPrivate Sub Form_Load() xptxt Text1, Picture1, Normal End Sub效果上基本能够糊弄过去,其他的控制针对text1进行即可,如果想做成控件自行封装
网上一大堆..........
^_^
里面有相关的控件,并且有源码
增加一个标准模块,模块内代码如下:Option Explicit
Public Enum states
Normal = 0
Disable = 1
ReadOnly = 2
End EnumPublic Function xptxt(txt As TextBox, pic As PictureBox, State As states) txt.BorderStyle = 0
pic.BorderStyle = 0
pic.Top = pic.Top + txt.Top - 15
pic.Left = pic.Left + txt.Top - 15
txt.Top = 15
txt.Left = 15
pic.Height = txt.Height + 30
pic.Width = txt.Width + 30
pic.ScaleMode = 3
txt.Appearance = 0
txt.BorderStyle = 0
pic.AutoRedraw = True
Dim a, b, c, d As Integer
a = txt.Top + txt.Height '+ 1
b = txt.Left - 1
c = txt.Left + txt.Width '+ 1
d = txt.Top - 1
pic.DrawWidth = 1
pic.Line (b, a)-(c, a), RGB(127, 157, 185)
pic.Line (c, a)-(c, d), RGB(127, 157, 185)
pic.Line (c, d)-(b, d), RGB(127, 157, 185)
pic.Line (b, d)-(b, a), RGB(127, 157, 185)
If State = Normal Then
txt.BackColor = vbWhite
txt.Enabled = True
txt.Locked = False
ElseIf State = Disable Then
txt.Enabled = False
txt.BackColor = RGB(235, 235, 228)
txt.ForeColor = RGB(161, 161, 146)
ElseIf State = ReadOnly Then
txt.Enabled = True
txt.Locked = True
End If
End Function
窗体内放一个picture box,在这个pic里面再放一个textbox
窗体内代码:Option ExplicitPrivate Sub Form_Load()
xptxt Text1, Picture1, Normal
End Sub效果上基本能够糊弄过去,其他的控制针对text1进行即可,如果想做成控件自行封装