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

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

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

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

Сообщений: 63


« Стартовое сообщение: 28 Февраль 2016, 16:50 »

Добрый день, для написания диалогового окна воспользовался данным способом http://forumooo.ru/index.php/topic,1319.0.html. Расставил кнопки.
Нужно, чтобы при нажатии кнопки, данное окно закрывалось
Записан
rami
Гуру
*******
Offline Offline

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


iMac, LibreOffice и Apache OpenOffice


« Ответ #1: 29 Февраль 2016, 10:14 »

А теперь воспользуйтесь этим способом:

* Диалог с кнопкой.ods (8.77 Кб - загружено 38 раз.)
Записан

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

Сообщений: 63


« Ответ #2: 29 Февраль 2016, 22:19 »

rami
Спасибо! но сожалению предложенный Вами способ мне не подходит, т.к. при выполнении диалогового окна, доступ к странице блокирован (диалог модальный) . А в предложенном выше способе используется "плавающее окно", что в данной ситуации мне легче осуществить. Но как закрыть его Непонимающий Непонимающий
 
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #3: 29 Февраль 2016, 23:11 »

Плавающий диалог получается если вместо "выполнения" (execute) его просто "показывают" (.setVisible(True)). И в этом случае его не "закрывают", а "прячут". То есть кнопке назначается отдельная процедура, которая выполнит .setVisible(False). Перед повторным отображением диалог не создают заново, а только опять делают видимым.
Но лучше с не модальными окнами не связываться. Нужно быть готовым к тому, что при закрытии этого документа или офиса начнут выскакивать невнятные ошибки. Причина в том, что офис не в состоянии уничтожить этот объект (диалог) и может только жаловаться.
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
dimmon777
Форумчанин
***
Offline Offline

Сообщений: 63


« Ответ #4: 2 Март 2016, 21:50 »

JohnSUN
,
rami
Пересобрал "плавающее окно" из первого моего сообщения (в прикрепленном файле). В module2 закрытие окна, с кнопкой, происходит сразу после открытия диалога
Код:
oButton1.removeActionListener(oL)
floatingwindow.dispose()
, тут вроде работает.

В module3, пытаюсь повесить этот код на кнопку ЗАКРЫТЬ (AL93_actionPerformed). При нажатии кнопки - ошибка( Все перепробовал. Помогите!

* Диалог с кнопкой-2.ods (12.68 Кб - загружено 7 раз.)
« Последнее редактирование: 2 Март 2016, 21:52 от dimmon777 » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #5: 2 Март 2016, 21:58 »

Так что ли?

* Диалог с кнопкой-3.ods (12.62 Кб - загружено 30 раз.)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
dimmon777
Форумчанин
***
Offline Offline

Сообщений: 63


« Ответ #6: 2 Март 2016, 22:03 »

Так что ли?
Всё хорошо Спасибо!!! Вроде работает, ушел тестить)
Записан
dimmon777
Форумчанин
***
Offline Offline

Сообщений: 63


« Ответ #7: 3 Март 2016, 22:47 »

Еще помогите пожалуйста.
Если окно уже открыто, то в начале выполнения макроса его нужно закрыть. Думаю в начале должно быть что то вроде
Код:
If  Isnull(?переменная?) THEN... ELSE ...
/code]???
Записан
dndn
Форумчанин
***
Offline Offline

Сообщений: 93


WWW
« Ответ #8: 9 Май 2016, 02:43 »

If not IsEmpty (объект_диалог) Then
    'код если окно открыто
Else
    'код если окно закрыто
End If
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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