Coding4ever’s Blog

Just coding… coding… and coding… because coding should be fun :)

Tips Mengatur Posisi Caption Objek CommandButton

| Comments

Salah satu objek standar VB 6 yang kurang beruntung adalah CommandButton :D, sejak lahirnya memang tidak mewarisi properties Alignment seperti saudaranya yg lainnya (ex. TextBox, Label, de el el) untungnya bisa memilih teman yg tepat dan bisa diandalkan :D siapa lagi kalo bukan fungsi API, sehingga kekurangan ini pun akhirinya bisa ditutupi.

Oke, tambahkan sebuah modul di project Anda, kemudian copy paste kode berikut :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Public Enum AlignButton
    A_CENTER = &H300&
    A_TOP = &H400&
    A_TOPLEFT = &H500&
    A_TOPRIGHT = &H600&
    A_BOTTOM = &H800&
    A_BOTTOMLEFT = &H900&
    A_BOTTOMRIGHT = &HA00&
    A_LEFT = &H100&
    A_RIGHT = &H200&
End Enum

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const GWL_STYLE& = (-16)

Public Sub setAlignButton(ByVal btn As CommandButton, ByVal alignment As AlignButton)
    Dim ret     As Long

    ret = GetWindowLong(btn.hwnd, GWL_STYLE) And Not 0
    If ret Then
       ret = SetWindowLong(btn.hwnd, GWL_STYLE, ret Or alignment)
       If ret Then btn.Refresh
    End If
End Sub

Kemudian pada form tambahkan beberapa objek CommandButton dan ketik kode berikut pada event Form_Load :

1
2
3
4
5
6
Private Sub Form_Load()
    Call setAlignButton(Command1, A_LEFT)
    Call setAlignButton(Command2, A_TOP)
    Call setAlignButton(Command3, A_RIGHT)
    Call setAlignButton(Command4, A_BOTTOM)
End Sub

dan hasilnya

Selamat mencoba :)

visual basic

Tentang Penulis

Software developer yang fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC, Web Service, Microservice) dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Database, Continuous Integration & Deployment dan arsitektur Microservice.
Selain mengajar, saat ini penulis juga bekerja sebagai staf IT di salah satu PTS di Yogyakarta sebagai senior software developer. Di waktu luang insya Alloh akan terus berbagi pengalaman di blog ini :)

« Menambahkan serial number pada paket instalasi (inno setup) Smart Library School (Beta) »

Comments