Friday, June 8, 2012

VB6 Code - Form SDI, Cara Menonaktifkan Tombol Close

Sebelumnya telah diposting mengenai cara mendisable tombol close pada MDI form, nah sekarang mengenai cara menonaktifkan tombol close yang terdapat pada control box SDI form menggunakan VB6 code. Di bawah ini merupakan kode untuk menghilangkan tombol close atau button X yang terdapat pada SDI form.
Option Explicit 

Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert 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 Const MF_BYPOSITION = &H400&

Public Sub RemoveButtonX(frm As Form)
Dim hSysMenu As Long
hSysMenu = GetSystemMenu(frm.hWnd, 0)
Call RemoveMenu(hSysMenu, 6, MF_BYPOSITION)
Call RemoveMenu(hSysMenu, 5, MF_BYPOSITION)
End Sub
Contoh penggunaan kode di atas.
Option Explicit 

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = -1 'untuk mendisable Alt + F4 </i>
End Sub

Private Sub Form_Load()
RemoveButtonX Me
End Sub