ورود

View Full Version : سوال: چگونه دكمه ي Close رو غير فعال كنم؟



MohammadGh2011
جمعه 27 خرداد 1390, 14:00 عصر
سلام دوستان
دكمه هاي minimize, و maximize غير فعال شدنش كاري نداره به راحتي غيرفعال ميشن اما دكمه ي close پنجره نميشه كسي از دوستان كدي داره كه بشه اين كارو كرد؟؟؟

محسن واژدی
جمعه 27 خرداد 1390, 14:14 عصر
سلام علیکم
دستور زیر را در یک ماژول کپی کنید:
Option Explicit
Private Const SC_CLOSE As Long = &HF060&
Private Const SC_MAXIMIZE As Long = &HF030&
Private Const SC_MINIMIZE As Long = &HF020&
Private Const SC_MOVE As Long = &HF010&

Private Const MF_BYCOMMAND As Long = &H0&
Private Const MF_BYPOSITION As Long = &H400&

Private Declare Function GetSystemMenu Lib "user32.dll" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32.dll" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function DrawMenuBar Lib "user32.dll" (ByVal hwnd As Long) As Long

Public Sub DisableXButton(fFrm As Form)

On Error Resume Next

Dim hMenu&

hMenu& = GetSystemMenu(fFrm.hwnd, 0)
DeleteMenu hMenu&, SC_CLOSE, 0
DeleteMenu hMenu&, 0, 0 'delete separator
DrawMenuBar fFrm.hwnd

End Sub


سپس نام فرم مورد نظر را در تابع DisableXButton جایگزین کنید، طبق نمونه زیر:
DisableXButton Me

موفق باشید