• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Dialogbox - "крестик"

  • Автор темы Mitya
  • Дата начала
M

Mitya

Гуру, подскажите как запретить закрывать DialogBox "крестиком"?
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
:) во блин.. чего только не выдумают
Ну чтоб не заморачиваться возможными API.... наверное можно отказаться от стандартных кнопок диалога OK, Cancel и т.д.
В форму поставить свои кнопки.
И при нажатии кнопки возводить какой-то флаг (глоб. переменную)... типа byButton = true
И в событии Queryclose проверять... если byButton = false - запрещать закрытие
Ну как-то так...
 
T

turumbay

Гуру, подскажите как запретить закрывать DialogBox "крестиком"?
в queryClose поставить continue = false, ну и условие прикрутить подходящее
А Вам оно зачем? Проводите эксперимент по влиянию нестандартного поведения стандартных компонентов на психику пользователя?
 

Мыш

Lotus Team
12.02.2008
1 220
29
BIT
70
А нельзя анализировать результат, возвращаемый DialogBox, и тупо показывать его в цикле - до тех пор, пока пользователь не нажмет Ок? :)
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
А нельзя анализировать результат, возвращаемый DialogBox, и тупо показывать его в цикле - до тех пор, пока пользователь не нажмет Ок? :)
Можно конечно...кажется так... все в том же Queryclose
Код:
Source.DialogBoxCanceled
Только же наши партизаны/вымогатели не колятся для чего это все.... блюдут :)
А то вдруг в диалоге нужно разрешить нажимать Cancel, но нельзя закрывать крестиком :)
 
M

Mitya

в queryClose поставить continue = false, ну и условие прикрутить подходящее
А Вам оно зачем? Проводите эксперимент по влиянию нестандартного поведения стандартных компонентов на психику пользователя?

да, балуются пользователи! =)

хм... условие типа:

Sub Queryclose(Source As Notesuidocument, Continue As Variant)
if поле ="" then
msgbox "введите хоть что-нибудь"
continue = false
exit Sub
End if
End Sub

при многократном неведении в поле, пишет NotesUIDocument object is loger valid
как побороть?

Добавлено:
Можно конечно...кажется так... все в том же Queryclose
Код:
Source.DialogBoxCanceled
Только же наши партизаны/вымогатели не колятся для чего это все.... блюдут :)
А то вдруг в диалоге нужно разрешить нажимать Cancel, но нельзя закрывать крестиком :)

не, в диалоге кнопки не заводские... Cancel тоже нет!

Оо! можно так:
If Source.DialogBoxCanceled Then... =) завтра попробую
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!