求VB编程验证码登入框
给你个简单的例子把,现在窗体上加个PictureBox控件(AutoRedraw=True,Appearance=0):
Dim chkStr As String '通用区声明,用于记录随机码
Private Sub RndBack() '在图片后面随机生成小线条
Dim X1 As Integer, Y1 As Integer, i As Integer, r As Integer, g As Integer, b As Integer
Dim pW As Integer, pH As Integer
pW = Picture1。 Width
pH = Picture1。Heigh...全部
给你个简单的例子把,现在窗体上加个PictureBox控件(AutoRedraw=True,Appearance=0):
Dim chkStr As String '通用区声明,用于记录随机码
Private Sub RndBack() '在图片后面随机生成小线条
Dim X1 As Integer, Y1 As Integer, i As Integer, r As Integer, g As Integer, b As Integer
Dim pW As Integer, pH As Integer
pW = Picture1。
Width
pH = Picture1。Height
For i = 0 To 100 '自己根据控件大小调整下线条的数量
Randomize
X1 = Int(pW * Rnd)
Y1 = Int(pH * Rnd)
r = Int(255 * Rnd)
g = Int(255 * Rnd)
b = Int(255 * Rnd)
Picture1。
ForeColor = RGB(r, g, b)
Picture1。Line (X1, Y1)-(X1 + 81 * Rnd, Y1 + 81 * Rnd)
Next
End Sub
Private Function RndStr(tempStr As String) As String '生成一个随机字符
Dim seas(2) As Integer '随机数种子
Dim sea As Integer
Dim i As Integer, ts As Integer
Dim result As Integer, tr As Integer
seas(0) = 48 '0的ascii码
seas(1) = 65 'A
seas(2) = 97 'a
RndStr = ""
Randomize
sea = seas(Int(3 * Rnd))
result = 1
tr = 1
Do While result And tr
ts = sea + Int(27 * Rnd)
result = (ts >= 48 And ts = 65 And ts = 97 And ts <= 122)
tr = InStr(tempStr, Chr(ts)) '确定本次的随机数不会与已经生成的一样
Loop
RndStr = Chr(ts)
End Function
Private Sub InitStr() '生成验证码
Dim temp As String
chkStr = ""
For i = 1 To 4 '随机生成4位的验证码
Randomize
Picture1。
CurrentX = Picture1。Width / 3。5 + 300 * (i - 1) '在picturebox上显示的位置
Picture1。CurrentY = Picture1。
Height / 10 + 50 * (i * Rnd)
Picture1。ForeColor = &HFF00FF
Picture1。Font。Size = 20 + Int(11 * Rnd) '字体的大小,初时大小请根据控件大小来设置
temp = RndStr(chkStr)
chkStr = chkStr + temp
Picture1。
Print temp
Next
End Sub
Private Sub Form_Load()
Call RndBack
Call Init
End Sub。
收起