フォームの×ボタンを無効にする方法

◆概要


このホームページは、Visual Basic 6.0でフォームの×ボタンを無効にする方法について記載しています。


フォームの×ボタンを無効にするには、次のようにAPIを利用します。

◆手順1


標準モジュールを追加し、以下のコードを記述します。

Public Const SC_CLOSE = &HF060

Public Const MF_BYCOMMAND = &H0

Public Declare Function GetSystemMenu Lib "user32" _
(ByVal hwnd As Long, ByVal bRevert As Long) As Long

Public Declare Function DeleteMenu Lib "user32" _
(ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) _
As Long

Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
  

◆手順2


フォームモジュールに以下のコードを記述します。

Option Explicit

Public Sub DisableXbutton(ByVal frmHwnd As Long)

    Dim hMenu As Long
    hMenu = GetSystemMenu(frmHwnd, 0&)
    If hMenu Then
        Call DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)
        DrawMenuBar (frmHwnd)
    End If
    
End Sub

Private Sub Command1_Click()
        
   Unload Me
   
    
End Sub

Private Sub Form_Load()
    DisableXbutton (Me.hwnd)
End Sub
  

◆実行結果


Windows Vistaでの実行結果



▼ページトップへ