Menghilangkan Border dari Kontrol
Tidak semua Kontrol yang ada di VB menyediakan properti untuk
menghilangkan border / pinggiran-nya. Karena itu perlu dibuat kode
khusus untuk menghilangkan border tersebut. Berikut contoh pembuatannya :
Buat Project baru dengan sebuah Form dan sebuah Module didalamnya.
Di Module ketikkan kode berikut :
[ VB 6.0 ]
Private Declare Function CreateRectRgn Lib "gdi32.dll" (ByVal X1 As
Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Public Sub NoBorder(ByVal Ctl As Control, Optional ByVal CropWidth As Integer = 2)
Dim l As Long
l = CreateRectRgn(CropWidth, CropWidth, (Ctl.Width /
Screen.TwipsPerPixelX) - CropWidth, (Ctl.Height / Screen.TwipsPerPixelY)
- CropWidth)
SetWindowRgn Ctl.hwnd, l, False
End Sub
[ VB .NET ]
Private Declare Function CreateRectRgn Lib "gdi32.dll" (ByVal X1 As
Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer)
As Integer
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As
Integer, ByVal hRgn As Integer, ByVal bRedraw As Boolean) As Integer
Public Sub NoBorder(ByVal Ctl As Control, Optional ByVal CropWidth As Integer = 1)
Dim i As Integer
i = CreateRectRgn(CropWidth, CropWidth, Ctl.Width - CropWidth, Ctl.Height - CropWidth)
SetWindowRgn(Ctl.Handle, i, False)
End Sub
Sekarang untuk percobaanya buat beberapa Kontrol ke dalam Form. Lalu
ketikkan kode sesuai dengan nama Kontrol-nya di bagian 'Form_Load' dari
Form seperti ini :
NoBorder TextBox1 'nama kontolnya adlh TextBox1