Killing the X button of a Form code by George Metzakis
General Declarations Put the following code in a .bas Module
Option Explicit Public Const MF_BYPOSITION = &H400 Public Const MF_REMOVE = &H1000 Public Declare Function DrawMenuBar Lib "user32" _ (ByVal hwnd As Long) As Long Public Declare Function GetMenuItemCount Lib "user32" _ (ByVal hMenu As Long) As Long Public Declare Function GetSystemMenu Lib "user32" _ (ByVal hwnd As Long, _ ByVal bRevert As Long) As Long Public Declare Function RemoveMenu Lib "user32" _ (ByVal hMenu As Long, _ ByVal nPosition As Long, _ ByVal wFlags As Long) As Long
Put the following code in the form_load of your Form
Option Explicit Private Sub Form_Load() Dim hMenu As Long Dim menuItemCount As Long 'Obtain the handle to the form's system menu hMenu = GetSystemMenu(Me.hwnd, 0) If hMenu Then 'Obtain the number of items in the menu menuItemCount = GetMenuItemCount(hMenu) 'Remove the system menu Close menu item. 'The menu item is 0-based, so the last 'item on the menu is menuItemCount - 1 Call RemoveMenu(hMenu, menuItemCount - 1, _ MF_REMOVE Or MF_BYPOSITION) 'Remove the system menu separator line Call RemoveMenu(hMenu, menuItemCount - 2, _ MF_REMOVE Or MF_BYPOSITION) 'Force a redraw of the menu. This 'refreshes the titlebar, dimming the X Call DrawMenuBar(Me.hwnd) End If End Sub
[BACK]