Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

16 Октябрь 2018, 02:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Как сделать, чтобы окно диалога закрывалось, а не висело под другим?  (Прочитано 572 раз)
0 Пользователей и 1 Гость смотрят эту тему.
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 353


« Стартовое сообщение: 8 Июнь 2018, 18:17 »

       Здравствуйте.
       Помогите, пожалуйста, в небольшой проблемке. Давно уже пользуюсь самописным msgbox, предложенном мне здесь, на кнопки которого повешены макросы. В макросах этих есть обычные msgboxы. Так вот когда нажимаешь на кнопку "Да" или "Нет" этого самописного msgbox, то он продолжает висеть, а поверх него появляется msgbox из вызванного им макроса. Подробнее на приложенном скрине. Скажите, пожалуйста, что нужно дописать в диалог (или может в вызванный им макрос), чтобы самописный msgbox полностью закрывался, а не висел под msgbox из вызванного макроса?


* ОКНО_НА_ОКНЕ.jpg (205.56 Кб, 1366x768 - просмотрено 9 раз.)
« Последнее редактирование: 8 Июнь 2018, 18:22 от OOKapitan » Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 560


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #1: 8 Июнь 2018, 19:47 »

Когда нажимаете на кнопку вызывающую msgbox, в первой строке макроса назначенного на кнопку запишите:
Код:
dlg.setVisible(false)
это скроет диалог, когда нужно будет снова сделать диалог видимым используйте:
Код:
dlg.setVisible(true)
чтобы ликвидировать диалог:
Код:
dlg.dispose()

Но, вообще, нужно смотреть на конкретный код.
Записан

OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 353


« Ответ #2: 8 Июнь 2018, 19:58 »

в первой строке макроса назначенного на кнопку запишите:
Огромнейшее спасибо.
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 353


« Ответ #3: 8 Июнь 2018, 20:06 »

А если я напишу так:
Код:
Sub VbYes
dlg.setVisible(false)
Macros
dlg.dispose()
End Sub
, где Macros - мой макрос, Macros вызовится?
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 560


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #4: 8 Июнь 2018, 20:16 »

Конечно, выполнится и даже диалог сохранится, но станет невидимым, если диалог больше не нужен, то просто переместите dlg.dispose() из конца макроса в начало.
Записан

OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 353


« Ответ #5: 9 Июнь 2018, 08:47 »

если диалог больше не нужен, то просто переместите dlg.dispose() из конца макроса в начало
Большущее спасибо.
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!