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

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

18 Май 2021, 17:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 »   Вниз
  Печать  
Автор Тема: Программируемый Диалог  (Прочитано 4431 раз)
0 Пользователей и 1 Гость смотрят эту тему.
rami
Гуру
*******
Offline Offline

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


iMac, LibreOffice и Apache OpenOffice


« Ответ #54554: 10 Май 2020, 18:14 »

В своём макросе думаю использовать Диалог, но показалось интересным создавать его программным способом.
Может быть интересно, но в редакторе диалогов получается быстрей и проще. В большинстве случаев нет нужды создавать диалоги с помощью кода.


Вот и первый вопрос: есть ли возможность (свойства или методы), что бы при повторном запуске диалога, курсор находился в этом же поле (форм.ввода)?
Снова применяю свойство "TabIndex" (в примере: oButtonModel.Model.TabIndex = 1) - это не приводит к нужному результату - шаг табуляции на кнопке "ПРИМЕНИТЬ".
Свойство "TabIndex" здесь не причём, оно служит для установления порядка перемещения фокуса клавишей "TAB", при этом оно само по себе не меняется.
После нажатия на кнопку "ПРИМЕНИТЬ" происходят два действия: первым делом перемещается фокус на эту кнопку, затем закрывается диалог, но объект диалога никуда не пропадает, его снова можно запустить методом oDlg.Execute() в том виде, в каком он был на момент закрытия, т.е. фокус будет на кнопке "ПРИМЕНИТЬ". Переместить фокус можно методом oDlg.getControl("ForField1").setFocus()


Поэтому появилась идея несколько уменьшить программный код и собирать массив свойств (подобный strElemAll() в примере) из нескольких массивов.
Уменьшить программный код это очень хорошо, но путь который вы выбрали приведёт к усложнению кода (он и без этого сложный). Свойства нужно устанавливать методом setPropertyValues()
Записан

Страниц: 1 2 »   Вверх
  Печать  
 
Перейти в:  

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