Я удивлен, что ваш пример кода вообще работает. MessageBox может возвращать только одно значение, как вы его настроили. Если вы проверяете код возврата из MessageBox, у вас должен быть четвертый параметр как YesNo!, YesNoCancel!
Я думаю кто это делал не ведает что творит, смысла вообще нет в этой логике ноль вариантов.
Вы хотите, чтобы это был вопрос, на который пользователь может ответить? Если это так, то сделайте что-то вроде:
integer li_rc
li_rc = Messagebox("Confirm your intentions","Do you want to close the tab?",Question!,YesNo!,2)
if li_rc = 1 then
// user clicked YES because it is the first option of YesNo!
else
// user clicked NO because it is the second option of YesNo!
end if
к вашему сведению: последний аргумент является кнопкой по умолчанию, если пользователь нажимает ввод
Окно имеет событие closequery, которое срабатывает при его закрытии, вы можете выполнить обработку этого события, чтобы окно НЕ закрывалось. Я не знаю, есть ли на вкладке что-то подобное, но вы, вероятно, могли бы решить этот вопрос, а затем запретить закрытие. Если вы просто хотите что-то сказать пользователю, просто сделайте MessageBox("Тема сообщения", "Тело сообщения", Exclamation!) Нет необходимости использовать OK! что по умолчанию
Вот идея:
Посмотрите в событии clicked элемента управления вкладкой. Вероятно, там есть код, который закрывает вкладку. Вы можете добавить дополнительную логику для проверки разрешений и обхода логики закрытия. Или вы можете установить для свойства ShowPicture значение false, если пользователь не может закрыть или, возможно, показать другое изображение отключенного X.
person
Rich Bianco
schedule
17.09.2014