PDA

View Full Version : کنترل دکمه close فرم



rezaei manesh
یک شنبه 03 مهر 1384, 16:04 عصر
سلام
چطور می تونم دکمه کلوز برنامه رو در اختیار بگیرم
من می خوام تا زمانی که یه شرط درست نیست دکمه close کار نکنه؟
فکر کنم باید از متد closeing فرم استفاده کنم اما چطوری شو نمیدونم هندلی داره که باید false کنم؟؟؟؟؟

مطهر
یک شنبه 03 مهر 1384, 18:34 عصر
یک متغیر بولین سراسری تعریف کن که نشان دهنده ی شرط شما باشد
با یه دستور ساده ی IF کنترل کن

If state = True Then
e.Cancel = False
Else
e.Cancel = True
End If

rezaei manesh
یک شنبه 03 مهر 1384, 18:55 عصر
سلام
ممنون

حامد مصافی
یک شنبه 03 مهر 1384, 23:49 عصر
سلام
این راه رو هم امتحان کنید
ابتدا این کد رو در یک ماژول(یا هر جای دیگه) تایپ کنید


'Hamed Masafi
'Remove close button

Public Const SC_CLOSE = &HF060
Public Const MF_BYCOMMAND = &H0

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



Public Sub DisableClosebutton(ByVal frmHwnd As Long(
Dim hMenu As Long
hMenu = GetSystemMenu(frmHwnd, 0&) ' Get system menu handle
If hMenu Then ' If GetSystemMenu's result is not error
Call DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND( ' Remove close button and menu item
Call DrawMenuBar (frmHwnd) ' Redraw system menu and title bar
End If
End Sub

سپس با فراخوانی این تابع می تونین به نتیجه مورد نظزتون برسید
مثال:


DisableClosebutton (Handle)