Uploaded by Petr Okunev

Libre Office Basic 4 Events Flat A4 RU v110

advertisement
LibORef no4
LibreOffe RefCard
LibreOfice Basic
События
Средн.
v. 1.10 – 12/02/2018
PRINT
Написан с использованием LibreOffice v. 5.3.3 – Платформа: Все
События
LibreOffice объекты знают о разл-х типах событий, которые могут зап-ся в разл-х
ситуациях. Вы можете перехв-ть эти события и обраб-ть их соотв-м образом.
Объекты, которые обеспечивают события
•
•
•
•
• Объекты документа:
• OLE объекты
• АвтоТекст
• Изображения
• ImageMaps
• Фреймы
• Гиперссылки
Приложение
Документы
Формы и элементы
Basic диалоги и элементы
Привязка события к макросу
Принцип
1. Создайте макрос для выполнения.
Следуйте шаблону:
Sub MacroName()
End Sub
2.
3.
4.
5.
Назовите макрос в соответствии с объектом, действием и типом
события. пример : Sub OnButtonOKClick()
Sub может иметь параметр. Смотри ниже.
Выберите объект который переносит событие на перехват (список выше).
Перейти к настройкам объекта (способ различается в зависимости от объекта).
Выберите событие для перехвата (см. списки в этой реф.карте).
Укажите на макрос для выполнения при срабатывании события.
Получение информации о сработавшем событии
Sub может прочитать вход-й параметр, чтобы получить больше инф-и о событии:
Sub EventResponse(ByRef Event As Object)
End Sub
Структура объекта Event и свойства объекта зависят от типа события, которое
запускает Sub (см. ниже).
Частые ситуации для элементов управления диалогов Basic:
Чтобы добраться до:
Читать
Вызов объекта control
Event.Source
Объект модели управления
Event.Source.Model
Event.Source.Context
Объект Диалога, владелец элем-та упр-я
Категории и свойства событий
Диалоги предоставляют четыре категории событий (столб. Cat в посл.таблице):
Mouse
M Соб-я, вызв-е дейст-ми с исп-м мыши (напр., движ-я и щелчки).
Keyboard
K События срабатывают по нажатию клавиш.
Focus
F События запускаются при изменении фокуса.
Specific
S События, связанные с некоторыми элементами управления.
Перечисленные ниже константы регистрочувствительны.
События мыши
Координаты в пикселях, измеренные от верхнего левого угла управления.
См. com.sun.star.awt.MouseEvent структуру
Buttons (short)
Нажатая кнопка (const. com.sun.star.awt.MouseButton).
X (long) and Y (long) X (resp. Y) координата указателя мыши.
ClickCount (long) Кол-во кликов, связ-х с событием мыши. Когда LibreOffice
сможет реаг-ть дост-но быстро, ClickCount будет 1 для
двойного щелчка, потому что запускается одно событие.
True если контекстное меню.
PopupTrigger
(boolean)
Константы, определенные в com.sun.star.awt.MouseButton
RIGHT
MIDDLE
LEFT
Лев.кнопка.
Прав.кнопка
Ср.кнопка.
VBA Click и Doubleclick события не поддерживаются LibO Basic. Можно
использовать событие LibO Basic Mouse button released как замену события
и подражания события Doubleclick путем изменения логики приложения.
События клавиатуры
Соб-я клав-ры связаны с действиями логич-х клавиш, а не с физич-ми действиями.
☞ Комбинация клавиш = одно событие.
☞ Уникальное действие на клавишу модификации (неработающую клавишу,
например, SHIFT или ALT) не создает независимое событие.
Объект клавиатуры Event содержит свойства
KeyCode (short)
Код нажатия клавиши (com.sun.star.awt.Key.XXX).
Клав. Модиф-и ( Shift , Ctrl и Alt ) не меняют этот код.
KeyChar (String)
Введенный символ (учитывает клавиши модификации).
Клавишная функциональность, как константа в
KeyFunc (Integer)
com.sun.star.awt.KeyFunction.XXXX
Modifiers (Integer) Указывает, был ли нажат модификатор, см. константы
com.sun.star.awt.KeyModifier.XXX.
Константы опред-е в com.sun.star.awt.Key.XXX (выдержки)
RETURN
POINT
NUM0 .. NUM9 Numbers
Enter
A .. Z
F1 .. F26
UP
DOWN
LEFT
RIGHT
HOME
END
PAGEUP
PAGEDOWN
Letters
Function keys
Up
Down
Left
Right
Home
End
Page up
Page down
ESCAPE
TAB
BACKSPACE
SPACE
INSERT
DELETE
ADD
SUBTRACT
MULTIPLY
DIVIDE
Esc
Tab
Space
Ins
Del
+
−
*
/
☞ Эти коды идентифицируют физические клавиши.
Константы в com.sun.star.awt.KeyFunc.XXX
None
Cut
DONTKNOW
CUT
New
Copy
NEW
COPY
Open
Paste
OPEN
PASTE
Save
Undo
SAVE
UNDO
SAVEAS
Save as
REDO
Redo
COMMA
LESS
GREATER
EQUAL
CUT
COPY
PASTE
HELP
MENU
CONTEXTMENU
.
,
<
>
=
Ctrl + X
Ctrl + C
Ctrl + V
F1
Print
REPEAT
Repeat
Close
CLOSE
Quit
QUIT
PROPERTIES Properties
Find
FIND
FINDBACKWAR Find
D
backwards
To front
FRONT
Константы в com.sun.star.awt.KeyModifier.XXX (добавка с +/And)
Ctrl
Alt
Maj
MOD1
MOD2
SHIFT
События фокуса
Объекты фокуса Event предоставляют следующие свойства
FocusFlags (short) Причина изменения фокуса.
См. константы com.sun.star.awt.FocusChangeReason .
NextFocus (Object) Объект, к-рый получ-т фокус (т-ко для On focus lost) соб-я.
Temporary (Boolean) True если фокус временно потерян.
Константы как определены в com.sun.star.awt.FocusChangeReason
TAB
Tab был нажат.
BACKWARD
элем-т упр-я Former.
CURSOR
AROUND
Клавиша направления
От посл-го к первому
упр-ю (вперед) или от
нажата.
перв. к посл-му (назад).
Была нажата клавиша
MNEMONIC
UNIQUEMNEMONIC Была нажата клавиша
быстрого доступа.
быстрого доступа к
элементу управления
unique.
FORWARD
элем-т упр-я Next.
Специфические события
Нек-рые соб-я (пример: При иниц.) могут быть запущены действиями на нек-рых
элементах управления (например, переключ-х). Не вып-ся никаких действий, чтобы
узнать, дейст-но ли изменилось сост-е элемента управления. Избегайте таких
«слепых событий», записывая прежнее знач-е элемента управления в глобальную
переменную, а затем проверяя, изменилось ли значение при запуске события.
Свойства для события Item Status Changed:
Selected (long)
Текущая выбранная запись.
Highlighted (long)
Текущая выделенная запись.
ItemId (long)
Идентификатор записи.
События документа
Свойства входящего события (см. следующую главу):
EventName (string)
Название события.
Source (object)
Документ, вызвавший событие.
ViewController (object)
Затр-й контр-р дисплея, в прот-м случае Null.
Supplement (variant)
Если нет, доп-я информация Empty.
События документов или приложений
Вкладка Tools > Customize, Events. Доступные события:
Событие
Назначенный макрос выполняется…
Start application
После старта приложения.
Close application
До закрытия приложения.
Document created
После File > New.
New document
После создания документа из шаблона.
Document loading finished
После перезагрузки документа.
Open document
После File > Open.
Document is going to be closed
До закрытия документа.
Document closed
После закрытия документа.
☞ Учтите, что соб-е Document closed также
может сраб-ть при сохранении документа
непосредственно перед его закрытием.
View created
После создания представления документа.
View is going to be closed
Перед закрытием просмотра документа.
View closed
После закрытия просмотра документа.
Activate document
После отображ-я документа на переднем плане.
Deactivate document
После отобр-я другого док-та на перед-м плане.
Save document
Перед File > Save, если имя документа указано.
☞ См. Document closed.
Document has been saved
После File > Save, если имя документа указано
Saving of document failed
После того, как не удалось сохранить документ.
Save document as
Перед File > Save as (или File > Save если имя
документа не указано).
Document has been saved as
После File > Save as (или File > Save если имя
документа не указано).
‘Save as’ has failed
После Save as ошибки.
Storing or exporting copy of
document
Document copy has been created После создания копии.
Creating of document copy failed После ошибки при создании копии.
Print document
После закрытия диалога Print, но до печати.
После изменения статуса модификации.
‘Modified’ status changed
Document title changed
После изменения названия документа.
Printing of form leters started
После закр-я диалога Print, но до печати.
Printing of form leters finished
После печати слиянием почты.
Merging of form fields started
Merging of form fields finished
Changing the page count
Когда меняется число страниц.
☞Соб-я View запускаются при изменении отображения документа: режим
предварительного просмотра или режим нового окна.
Последовательности события документа
Открытие существующего документа (все способы)
Open document > View created
Закрытие активного документа (все методы)
View is going to be closed > Document is going to be closed > View closed >
Document closed
Создание документа из шаблона
New document > View created
LibOBasic_4_Events_Flat_A4_EN_v110.odt
Взаимодействие с объектами документа
AutoText
ImageMap
Объект выбран.
Мышь движется над объектом.
Гиперссылка, назначенная объекту
●
●
●
● ●
● ● ●
● ●
●
Mouse quit
активирована.
Указатель мыши перемещен за
пределы объекта.
●
●
● ●
●
Назначенный макрос выполняется…
Перед сбросом формы. Связанный макрос может, напр.,
предотвратить это действие, вернув FALSE.
Форма сбрасывается, если выполняется одно из следующих
условий:
Hyperlink
Image
Object clicked
Mouse hover
Hyperlink fired
Frame
OLE object
Свойства объекта, затем разное: вкладка Macro, кнопка Macro, кнопка Events, и т.д.
Событие
Срабатывает когда
Событие
Prior to reset
1.
Пользователь нажимает (HTML) кнопку,
определяемую как кнопка сброса.
2.
Новая и пустая запись создается в форме,
связанной с источником данных. Например, в
последней записи кнопка Next Record м/быть нажата.
●
Image loading ended
Загрузка изображения завершена.
Image loaded stopped Загрузка изображения была прервана
пользователем (напр.: на загр.стран.).
Image loading error
Сбой загрузки изобр-я (напр. Изобр-е
Не найдено).
●
●
Некоторый текст введен с использ-м
клавиатуры.
Непечат-е символы введены (tab,
enter, и т.д.).
●
Frame sized changed
Размер рамки изменен с использ-м
мыши.
Рамка перемещена с использ-м мыши.
●
Before autotext
insertion
Перед вставкой блока текста.
Afer autotext insertion После вставки блока текста.
После сброса формы.
Перед изменением текущего указателя записи. Напр.
Чтобы остановить это действие, вернув FALSE.
Before unloading
Before reloading
Confirm deletion
До выгрузки формы (отделена от БД).
Перед перезагрузкой формы. Содержимое данных еще не
было обновлено.
Как только данные были удалены из формы. Напр.
When loading
When unloading
Запрос на подтверждение.
После загрузки формы.
Сразу после выгрузки формы (отдельно от БД).
●
Alphanumerical
characters entered
Non-alphanumerical
characters entered
Frame moved
Afer reseting
Before record change
●
●
●
When reloading
Сразу после перезагрузки формы. Данные были уже
обновлены.
●
Fill parameters
Когда загружаемой форме нужны параметры (SQL).
Это соб-е зап-ся всякий раз, когда пар-р не м/быть предост-н.
Напр., ист-ком данных формы может быть команда SQL.:
События листов Calc
Sheet > Sheet Events (или ПКМ ярлык листа, затем Sheet events)
Событие
Activate document
Deactivate document
Selection changed
Double click
Right click
Formulas calculated
Content changed
Назначенный макрос выполняется…
После того, как док-т был отобр-н на переднем плане.
После отобр-я другого документа на переднем плане.
После изменения выбора.
После двойного щелчка по ячейке.
После нажатия ПКМ на диапазоне ячеек.
После пересчета формулы.
После изменения содержимого ячейки.
SELECT * FROM address WHERE name=:name
где :name параметр, который необходимо заполнить при
An error happened
загрузке. Пар-р автом-ки зап-ся из родит-й формы, если это
возможно. Если пар-р не может быть заполнен, это событие
вызыв-ся, и связанный макрос может заполнить параметр.
Когда бы ни произошла ошибка при доступе к БД.
☞ Применяется к формам, спискам и полям со списком.
События формы
Свойства элемента управления, вкладка Events .
Общие события вне базы данных
Cat
F
F
K
K
M
M
Событие
When receiving focus
When losing focus
Key pressed
Key released
Mouse inside
Mouse moved while key
pressed
M Mouse moved
M Mouse button pressed
M Mouse button released
M Mouse outside
Перевод: Петр Окунев
https://vk.com/peter1st
Назначенный макрос выполняется…
Когда элемент управления получает фокус.
Когда элемент управления теряет фокус.
При нажатии клавиши на сфокусир-м элем-те упр-я.
При отпуск-и клавиши на сфокусир-м элем-те упр-я.
Когда указ-ль мыши внутри границ элем-та упр-я.
Когда мышь перем-ся, пока нажата клавиша. Напр.:
нажатие клавиши во время перетаскивания устанав-т
drag/drop режим (перем-е или копир-е).
Пока указ-ль мыши движется над элем-том упр-я.
Пока кнопка мыши нажата когда указатель над
элементом управления.
☞Событие Mouse button pressed также используется
для уведомления вызовов context menu.
Затем, св-во события PopupTrigger будет TRUE.
При ПКМ событие сработает дважды: (1) на
вызове контекст.меню и (2) самом клике. Если вы
только заинтересованы в событии клика,
игнорируйте вызовы, когда PopupTrigger TRUE.
Когда кнопка мыши отпущена, в момент когда
указатель находится над элементом управления.
Пока указатель мыши за границами элемента упр-я.
События диалоговых окон
Некоторые элементы управ-я диалоговых окон предоставляют дополн-е события:
Credits
Author : Jean-François Nifenecker – jean-francois.nifenecker@laposte.net
Cat
We are like dwarves perched on the shoulders of giants, and thus we are able to see more and farther than the
latter. And this is not at all because of the acuteness of our sight or the stature of our body, but because we are
carried aloft and elevated by the magnitude of the giants (Bernard de Chartres [attr.])
Событие
Execute action
KM Item status changed
M While adjusting
Назначенный макрос выполняется…
При старте действия. Напр.: если у формы Send
кнопка, пр-сс отправки - это действие, к-рое н/пр-ть.
☞ Используйте для ответа на нажатие кнопки.
Когда состояние элемента управления изменилось.
При перемещ-и scroll bar или колеса прокрутки.
События только базы данных
Событие
After record action
After record change
Before record action
Before submitting
Before update
After update
History
Version
Date
1.01
11/09/2018
Minor updates
Comments
1.10
02/12/2018
Rework and complements
Назначенный макрос выполняется…
После изменения текущей записи.
Сразу после изменения текущего указателя записи.
Перед изменением текущей записи. Позволяет запросить
подтверждение.
Перед отправкой данных формы.
Перед записью изм-го сод-го элемента упр-я в базу данных.
Напр. Остановить это действие, вернув FALSE.
После того, как изм-е сод-е элем-та упр-я было записано в БД
License
This refcard is placed under the
CreativeCommons BY-SA v4 (intl) license.
More information:
https://creativecommons.org/licenses/by-sa/4.0/
Download