Coding4ever’s Blog

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

Menonaktifkan Tombol Minimize, Maximize Dan Close

| Comments

Yaph kali kita akan membahas artikel sederhana dan mudah-mudahan bisa menambah referensi bagi Anda yang baru belajar vb, kita langsung saja lihat gambar berikut :

dan kita akan mencoba menonaktifkan/mendisable ketiga tombol diatas.

1. Menonaktifkan tombol Minimize

2. Menonaktifkan tombol Maximize

3. Menonaktifkan tombol Close

:D gimana? Pasti bingung mencari properties CloseButton ? Yaph form di vb memang tidak menyediakan properties CloseButton sehingga untuk menonaktifkan tombol tersebut kita akan menggunakan fungsi API.

Berikut deklarasi lengkap fungsi API, konstanta dan prosedur disableCloseButton :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long

Private Const MF_REMOVE = &H1000&
Private Const MF_BYPOSITION = &H400&

Private Sub disableCloseButton(ByVal hWnd As Long)
    Dim ret1 As Long
    Dim ret2 As Long

    ret1 = GetSystemMenu(hWnd, False)
    If ret1 <> 0 Then
        ret2 = GetMenuItemCount(ret1)
        If ret2 <> 0 Then
            RemoveMenu ret1, ret2 - 1, MF_REMOVE Or MF_BYPOSITION
            RemoveMenu ret1, ret2 - 2, MF_REMOVE Or MF_BYPOSITION
            DrawMenuBar hWnd
        End If
    End If
End Sub

Selanjutnya kita tinggal panggil di event Form_Load :

1
2
3
Private Sub Form_Load()
    Call disableCloseButton(Me.hWnd)
End Sub

Selamat mencoba :)

visual basic

Tentang Penulis

Software developer yang fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC, Web Service) dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Database dan Continuous Integration & Deployment.
Saat ini 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 :)

« Properties KeyPreview MDIForm kok enggak ada ya ? Membuat paket instalasi vb + mysql dengan NSIS »

Comments