Страница: 1 |
Подскажите Как убрать Close Button из User Form или запретить его действие?
Привет. Насколько я знаю, никак. Т.е. стандартными способами у меня не получилось. Возможно, этого можно добиться с помощью API. Privet, Petrovich Zhal, chto nikak, t.k. mne ochen nugno No vse ravno, spasibo za otklik - You The Only One, kto mne zdes otvechaet (Interesno Pochemu?) I think because we both use VBA (Excel) :0) It's just Nesessary MSoffice has Everyone, so i can modify it Everywhere and i not Use Basic so Hard that i must Use VB as onw language Sorry about my Englich Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Заработался наверное Смотри что ещё откопал. Гайдар Магдануров Затемнение кнопки закрыть Я приведу здесь некий код, который должен затемнять кнопку закрыть на вашей форме. Все это я оформлю в виде sub-а расположенного в модуле. Сначала константы: Const MF_BYPOSITION = &H400 Потом объявление функций: Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long Теперь сама процедура: Public Sub Disable_Close(Form_hWnd As Long) Страница: 1 |
Вопрос: VBA (Excel)
Добавлено: 11.09.02 12:48
Автор вопроса:
Alexa_SAS
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа: Petrovich
Вопросов: 9
Ответов: 84
Профиль | | #1
Добавлено: 11.09.02 14:02
Номер ответа: 2
Автор ответа: Alexa_SAS
Вопросов: 11
Ответов: 12
Профиль | | #2
Добавлено: 11.09.02 14:41
Номер ответа: 3
Автор ответа: Petrovich
Вопросов: 9
Ответов: 84
Профиль | | #3
Добавлено: 11.09.02 15:18
Номер ответа: 4
Автор ответа: Alexa_SAS
Вопросов: 11
Ответов: 12
Профиль | | #4
Добавлено: 11.09.02 15:43
Номер ответа: 5
Автор ответа: CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #5
Добавлено: 14.09.02 04:02
Cancel = -1
End Sub
Номер ответа: 6
Автор ответа: CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #6
Добавлено: 14.09.02 05:47
Const MF_REMOVE = &H1000
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Dim Menu_hWnd, Number_Of_MenuItems As Long 'Декларируем переменных
Menu_hWnd = GetSystemMenu(Form_hWnd, 0) 'Получения описателя системного меню
If Menu_hWnd Then 'Если получилось получить описатель системного меню, то выполнять код
Number_Of_MenuItems = GetMenuItemCount(Menu_hWnd) 'Получение количества пунктов меню
Call RemoveMenu(Menu_hWnd, Number_Of_MenuItems - 1, MF_BYPOSITION) 'Удаление меню Закрыть
Call RemoveMenu(Menu_hWnd, Number_Of_MenuItems - 2, MF_REMOVE)
Call DrawMenuBar(Form_hWnd) 'Перерисовка системного меню
End If 'Если не получилось получить описатель системного меню, то ничего не происходит