Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Хочу выкинут кнопку закрытия из окна приложения  [new]
Ussama
Member

Откуда: Москва - Кожуховская
Сообщений: 86
Для того что пользователь смог закрыт ее только через кнопочной форме подскажите пож. как можно выкинуть ее из окна приложения?
16 авг 04, 13:54    [884201]     Ответить | Цитировать Сообщить модератору
 Re: Хочу выкинут кнопку закрытия из окна приложения  [new]
guest1187
Guest
Свойство формы: кнопка закрытия
16 авг 04, 13:55    [884212]     Ответить | Цитировать Сообщить модератору
 Re: Хочу выкинут кнопку закрытия из окна приложения  [new]
Ussama
Member

Откуда: Москва - Кожуховская
Сообщений: 86
guest1187
Свойство формы: кнопка закрытия

Нет нет я не имею ввиду в окно формы а в окно приложения т.е Access
16 авг 04, 15:05    [884516]     Ответить | Цитировать Сообщить модератору
 Re: Хочу выкинут кнопку закрытия из окна приложения  [new]
kedzo
Member

Откуда: Москва
Сообщений: 964
Управлениея доступностью кнопки закрытия окна MS Access 
По материалам сайта Андрея Митина : http://am.rusimport.ru/index.htm 
 

 
'Класс управлениея доступностью кнопки закрытия приложения
'ОЧЕНЬ Полезно при разворачивании отчетов или еще чего на весь экран
'Если модуль класса называется clsAppCloseButton код управления будет 
' примерно таким:
'-----------------------------------------------------------------------
'    Dim CloseBTN As clsAppCloseButton
'    Set CloseBTN = New clsAppCloseButton
'    CloseBTN.Enabled = False  Сделать кнопку НЕ доступной
    'или....
'    CloseBTN.Enabled = True   Сделать кнопку доступной
'-----------------------------------------------------------------------
'Автор: 
'    Андрей Митин 
'Сайт:
'    http://am.rusimport.ru/index.htm
'Cсылка на то же самое от Microsoft:
'    http://support.microsoft.com/support/kb/articles/Q245/7/46.asp
'=======================================================================

'am v1.0.0_000427_Microsoft

Option Compare Database
Option Explicit

Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, _
    ByVal bRevert As Long) As Long

Private Declare Function EnableMenuItem Lib "user32" (ByVal hMenu As _
    Long, ByVal wIDEnableItem As Long, ByVal wEnable As Long) As Long

Private Declare Function GetMenuItemInfo Lib "user32" Alias _
    "GetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, ByVal b As _
    Long, lpMenuItemInfo As MENUITEMINFO) As Long

Private Type MENUITEMINFO
    cbSize As Long
    fMask As Long
    fType As Long
    fState As Long
    wID As Long
    hSubMenu As Long
    hbmpChecked As Long
    hbmpUnchecked As Long
    dwItemData As Long
    dwTypeData As String
    cch As Long
End Type

Const MF_GRAYED = &H1&
Const MF_BYCOMMAND = &H0&
Const SC_CLOSE = &HF060&

Public Property Get Enabled() As Boolean
Dim hWnd As Long
Dim hMenu As Long
Dim result As Long
Dim MI As MENUITEMINFO
    MI.cbSize = Len(MI)
    MI.dwTypeData = String(80, 0)
    MI.cch = Len(MI.dwTypeData)
    MI.fMask = MF_GRAYED
    MI.wID = SC_CLOSE
    hWnd = Application.hWndAccessApp
    hMenu = GetSystemMenu(hWnd, 0)
    result = GetMenuItemInfo(hMenu, MI.wID, 0, MI)
    Enabled = (MI.fState And MF_GRAYED) = 0
End Property

Public Property Let Enabled(boolClose As Boolean)
Dim hWnd As Long
Dim wFlags As Long
Dim hMenu As Long
Dim result As Long
    hWnd = Application.hWndAccessApp
    hMenu = GetSystemMenu(hWnd, 0)
    If Not boolClose Then
        wFlags = MF_BYCOMMAND Or MF_GRAYED
    Else
        wFlags = MF_BYCOMMAND And Not MF_GRAYED
    End If
    result = EnableMenuItem(hMenu, SC_CLOSE, wFlags)
End Property

 
16 авг 04, 15:16    [884552]     Ответить | Цитировать Сообщить модератору
 Re: Хочу выкинут кнопку закрытия из окна приложения  [new]
Alexander G
Member

Откуда: Чукчи мы, однако
Сообщений: 3270
Если исходить из задачи, на форуме уже обсуждалось -
при запуске приложения открывается невидимая форма
у которой в Unload стоит - Cancel=true - и можно жать кнопку закрытия посинения.
16 авг 04, 15:29    [884602]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить