منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
تفعيل أو تعطيل زر الإغلاق (x) في النوافذ بالكود - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90)
+--- قسم : مكتبة أكواد المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=111)
+---- قسم : مكتبة أكواد الفيجوال بيسك 6 (http://vb4arb.com/vb/forumdisplay.php?fid=116)
+---- الموضوع : تفعيل أو تعطيل زر الإغلاق (x) في النوافذ بالكود (/showthread.php?tid=5203)



تفعيل أو تعطيل زر الإغلاق (x) في النوافذ بالكود - المبرمج الطموح vb6 - 05-10-12

<< بسم الله الرحمن الرحيم >>

لن أطول بالحديث لنبدأ بالأكواد


في قسم التصريحات العامة (أعلى الكود) :

Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd _
As Long, ByVal bRevert As Boolean) 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_BYPOSITION = &H400&
Private Const MF_REMOVE = &H1000&
Public Sub DisableClose(frm As Form, Optional _
Disable As Boolean = True)
'Setting Disable to False disables the 'X',
'otherwise, its reset
Dim hMenu As Long
Dim nCount As Long
If Disable Then
hMenu = GetSystemMenu(frm.hwnd, False)
nCount = GetMenuItemCount(hMenu)
Call RemoveMenu(hMenu, nCount - 1, MF_REMOVE Or _
MF_BYPOSITION)
Call RemoveMenu(hMenu, nCount - 2, MF_REMOVE Or _
MF_BYPOSITION)
DrawMenuBar frm.hwnd
Else
GetSystemMenu frm.hwnd, True
DrawMenuBar frm.hwnd
End If
End Sub


أما في زر التفعيل:

Call DisableClose(Me, False)


و في زر التعطيل

Call DisableClose(Me, True)

هذا هو كل الأمر ....... تحياتي لكم Smile
و السلام عليكم و رحمة الله و بركاته