Dialogbox - "крестик"

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

Mitya

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

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 807
21
#2
:) во блин.. чего только не выдумают
Ну чтоб не заморачиваться возможными API.... наверное можно отказаться от стандартных кнопок диалога OK, Cancel и т.д.
В форму поставить свои кнопки.
И при нажатии кнопки возводить какой-то флаг (глоб. переменную)... типа byButton = true
И в событии Queryclose проверять... если byButton = false - запрещать закрытие
Ну как-то так...
 
13.03.2009
625
1
#3
Гуру, подскажите как запретить закрывать DialogBox "крестиком"?
в queryClose поставить continue = false, ну и условие прикрутить подходящее
А Вам оно зачем? Проводите эксперимент по влиянию нестандартного поведения стандартных компонентов на психику пользователя?
 

Мыш

Премиум
12.02.2008
1 096
10
#4
А нельзя анализировать результат, возвращаемый DialogBox, и тупо показывать его в цикле - до тех пор, пока пользователь не нажмет Ок? :)
 

NickProstoNick

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

Mitya

#6
в 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... =) завтра попробую