Iconics Genesis-32 GraphWorX. Как отменить закрытие окна |
Ответить |
Автор | |
Новичок Присоединился: 18 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 5 |
Опубликовано: 28 Январь 2005 11:52 |
Доброго времени суток! Подскажите пожалуйста, можно ли отменить закрытие окна GraphWorX в режиме исполнения. Например по событию GwxDisplay_PreDeanimateDisplay или GwxDisplay_PreRuntimeStop. Или убрать крестик (кнопка "Закрыть" в правом верхнем углу). Очень нужно! |
|
Действительный член Присоединился: 15 Март 2004 Категория: Russian Federation Online Status: Offline Публикации: 112 |
|
Приветствую ! 1.В настройках дисплея убираем все галочки относительного системного меню (Format->Display Properties->Window->System Menu (и исчезнут крестики-нолики) 2. Заодно убираем меню 3. Делаем не масштабируемую рамку 4. Запускаем в максимальном размере
Все, только через Ctrl-Alt-Del или по специально сделанной динамике.
Но можно и в security прописать запрет закрытия, тогда будет требовать пароль
Если окно дочернее, то почти на всех дистрибутивных дисках, в разделе применение (кажется), есть статья о Disable Close Window на VBA
Удачи.
|
|
Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator |
|
Новичок Присоединился: 18 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 5 |
|
Vladimir, спасибо, что откликнулись! К сожалению, окно не дочернее, а то бы и проблем не было; security в данном случае не подходит, поскольку при закрытии необходимо делать проверку, в следствии которой принимать решение о позволении или непозволении закрытия окна, да и лишний раз нагружать пользователей паролем не хотелось бы. Так что, видимо, действительно придется отказаться от системного меню и налепить свою функциональную панельку (свернуть, развернуть, закрыть). Еще раз спасибо! |
|
Новичок Присоединился: 18 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 5 |
|
Поскольку тема заинтересовала, хочу поделиться решением с помощью API: Public Declare Function GetForegroundWindow Lib "user32" () As Long Public Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long Public Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) Public Const MF_BYCOMMAND = &H0& Public Const SC_CLOSE = &H060& Private Sub GwxDisplay_PostAnimateDisplay() Dim hMenuHandle As Long hMenuHandle = GetSystemMenu(GetForegroundWindow(), 0&) If (hMenuHandle <> 0) Then DeleteMenu hMenuHandle, SC_CLOSE, MF_BYCOMMAND End Sub Тем самым делая 'x' недоступным. С уважением, Маринка |
|
Действительный член Присоединился: 15 Март 2004 Категория: Russian Federation Online Status: Offline Публикации: 112 |
|
Это конечно здорово ! Тут главное не дойти до полного написания всего самому. |
|
Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator |
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |