- Sub CreatFormBoder(fr As Form, ByVal vWidth As Byte, ByVal TileBarWidth As Byte)
- Dim LastValue As Boolean
- fr.ScaleMode = 3
- LastValue = fr.AutoRedraw
- fr.AutoRedraw = True
- For i = vWidth To 0 Step -1
- 'Left
- fr.Line (i, 0)-(i, fr.ScaleHeight), RGB(i * 50, i * 10 + 220, i * 50)
- 'Right
- fr.Line (fr.ScaleWidth - i, 0)-(fr.ScaleWidth - i, fr.ScaleHeight), RGB(i * 50, i * 10 + 220, i * 50)
- 'Down
- fr.Line (0, fr.ScaleHeight - i)-(fr.ScaleWidth, fr.ScaleHeight - i), RGB(i * 50, i * 10 + 220, i * 50)
- Next i
- 'Ve TileBar
- For i = TileBarWidth To 1 Step -1
- fr.Line (0, i)-(fr.ScaleWidth, i), RGB(i * 10, i * 10 + 200, i * 10)
- Next i
- fr.Picture = fr.Image
- fr.AutoRedraw = LastValue
- End Sub
- Private Sub Form_Resize()
- CreatFormBoder Form1, 3, 10
- End Sub
Tác giả: playgemboy
Mô tả: Tạo các viền gadien xung quanh form
Một số bạn thường tự tạo skin form bằng cách đặt borderstyle = 0 rồi chèn một hình ảnh nào đó vào, nhưng làm như vậy sẽ có hạn chế là khi thay đổi kích thước, hình chèn trước đó sẽ ko khớp, vì vậy mình nghĩ ra cách tạo viền bằng các line gradien.
Mã: Chọn hết
- Sub CreatFormBoder(fr As Form, ByVal vWidth As Byte, ByVal TileBarWidth As Byte)
- Dim CurScale As Byte
- fr.Cls
- CurScale = fr.ScaleMode
- fr.ScaleMode = 3
- For i = vWidth To 0 Step -1
- 'Left
- fr.Line (i, 0)-(i, fr.ScaleHeight), RGB(i * 50, i * 10 + 220, i * 50)
- 'Right
- fr.Line (fr.ScaleWidth - i, 0)-(fr.ScaleWidth - i, fr.ScaleHeight), RGB(i * 50, i * 10 + 220, i * 50)
- 'Down
- fr.Line (0, fr.ScaleHeight - i)-(fr.ScaleWidth, fr.ScaleHeight - i), RGB(i * 50, i * 10 + 220, i * 50)
- Next i
- 'Ve TileBar
- For i = TileBarWidth To 0 Step -1
- fr.Line (0, i)-(fr.ScaleWidth, i), RGB(i * 10, i * 10 + 200, i * 10)
- Next i
- fr.ScaleMode = CurScale
- End Sub
-
- Private Sub Form_Paint()
- CreatFormBoder Form1, 3, 10
- End Sub
- 'Add mot button vao de kiem tra
- Private Sub Command1_Click()
- Me.Width = Me.Width + 100
- End Sub
Mình chỉ mới tạo một kiểu màu xanh này thôi, các bạn tự nghiên cứu phần màu của line thì sẽ tạo ra nhiều kiểu màu gadien hơn..
(vì là border nên tham số vWidth bạn nên cho <= 5)