
- •Объект Debug и его методы
- •Метод Print
- •Метод Assert
- •Доказательство правильности программ
- •Условная компиляция и отладка
- •Директива #const
- •#If … Then … #Else директива
- •Ошибки периода выполнения и их обработка
- •Модель управления ошибками в языке vba.
- •Оператор On Error
- •Оператор Resume
- •Объект Err
- •Метод Clear
- •Метод Raise
- •Класс и обработка ошибок
- •Обработчики ошибок и вложенные вызовы процедур
- •Структура обработчика ошибок
- •Функция CvErr
- •Оптимизация программ
- •Приемы оптимизации кода
- •Объявление переменных
- •Математические операции
- •Строковые операции
- •Проектирование интерфейса. Меню
- •Общие объекты Office 2000
- •Коллекция CommandBars
- •Свойства и методы коллекции CommandBars
- •Свойства и методы объекта CommandBar
- •Коллекция CommandBarControls и ее элементы
- •О роли интерфейса
- •Создание собственных и модификация встроенных меню
- •Немного терминологии
- •Возможности настройки и изменения системы меню
- •Создание собственного головного меню
- •Использование диалогового окна Настройка
- •Создание меню с помощью vba
- •Добавление выпадающих меню
- •Использование диалогового окна Настройка
- •Как добавить встроенное меню
- •Добавление выпадающего меню с помощью vba
- •Добавление подменю
- •Вставка и группировка команд
- •Добавление встроенной команды с помощью окна Настройка
- •Добавление собственной команды с помощью окна Настройка
- •Добавление команд с помощью vba
- •Пример построения документа с собственным меню
- •Группировка команд меню
- •Удаление команд меню
- •Удаление команды с помощью окна Настройка
- •Удаление команды с помощью vba
- •Как восстановить удаленные встроенные компоненты меню
- •Изменение меню во время работы программы
- •Вывод собственной панели меню
- •Динамическое изменение видимости команд меню
- •Управление доступом к командам меню
- •Переименование команды меню
- •Диалоговые окна и элементы управления
- •Общие сведения и применение
- •Встроенные диалоговые окна Коллекция Dialogs и объект Dialog
- •Вывод сообщений. Функция MsgBox
- •Окно ввода данных. Функция InputBox
- •Создание пользовательских диалоговых окон
- •Создание страниц и вкладок в диалоговых окнах
- •Добавление дополнительных элементов управления
- •Пример создания диалогового окна
- •Разработка процедур, обрабатывающих события диалогового окна и его устройств
- •Вызов собственного диалогового окна
- •Установка начальных значений свойств элементов управления
- •Использование Me в качестве имени текущего диалогового окна
- •Модификация управляющих элементов во время работы
- •Управление доступом к элементу
- •Перемещение фокуса на элемент управления
- •Изменение размеров диалогового окна
- •Проверка корректности данных
- •Обмен данными с диалоговым окном
- •Закрытие диалогового окна
- •Объект UserForm (диалоговое окно), коллекция UserForms (диалоговые окна)
- •Коллекция Controls
- •Объекты - элементы управления Перечень основных элементов управления
- •Общие свойства элементов управления Объект-родитель
- •Имя объекта
- •Значение объекта
- •Расположение объекта
- •Параметры внешнего вида объекта
- •Свойства поведения объекта
- •Другие свойства
- •CheckBox - флажок (кнопка выбора)
- •ComboBox - комбинированный список
- •CommandButton - командная кнопка
- •Frame - рамка (группы)
- •Image - изображение
- •Label - метка (надпись, статический текст)
- •ListBox - список
- •MultiPage - набор страниц
- •OptionButton - кнопка-переключатель
- •ScrollBar - полоса прокрутки
- •SpinButton - счетчик
- •TabStrip - полоса вкладок
- •TextBox - поле ввода (окно редактирования)
- •ToggleButton - выключатель
- •Объект DataObject
- •Перемещение объектов. Как реализовать технику DragAndDrop
- •События Событие AddControl (добавился элемент)
- •Событие AfterUpdate (После модификации)
- •Событие BeforeDragOver (Перед завершением перетаскивания)
- •Событие BeforeDropOrPaste (Перед опусканием или вставкой)
- •Событие BeforeUpdate (Перед модификацией)
- •Событие Change (Изменение)
- •Событие Click (Щелчок)
- •Событие DblClick (Двойной щелчок)
- •Событие DropButtonClick (Щелчок кнопки списка)
- •События Enter, Exit (Вход, Выход)
- •Событие Error (Ошибка)
- •События KeyDown, KeyUp (Клавиша нажата, Клавиша отпущена)
- •Событие KeyPress (Клавиша нажата)
- •Событие Layout (Расположение)
- •События MouseDown, MouseUp (Мышь нажата, Мышь отпущена)
- •Событие MouseMove (Мышь движется)
- •Событие RemoveControl (Удаление элемента)
- •Событие Scroll (Прокрутка)
- •События SpinDown (Уменьшить счетчик), SpinUp (Увеличить счетчик)
- •Событие Zoom (Расширение)
- •Методы Метод Add (Добавить)
- •Метод AddItem (Добавить элемент)
- •Метод Clear (Очистить)
- •Метод Copy (Копировать)
- •Метод Cut (Вырезать)
- •Метод DropDown (Вывести список)
- •Метод Move (Сдвинуть)
- •Метод Paste (Вставить)
- •Реализация операций Cut, Copy, Paste в диалоговых окнах
- •Метод RedoAction (Повторить действие)
- •Метод Remove (Удалить)
- •Метод RemoveItem (Удалить элемент)
- •Метод Repaint (Перерисовать)
- •Метод Scroll (Прокрутить)
- •Метод SetDefaultTabOrder (Установить стандартный порядок обхода)
- •Метод SetFocus (Установить фокус)
- •Метод UndoAction (Отменить действие)
- •Реализация операций Undo и Redo в диалоговых окнах
- •Метод zOrder (z-упорядочить)
- •Основные виды файлов в Office 2000
- •Открытие и создание файлов
- •Закрытие файлов
- •Запись в файлы последовательного доступа
- •Чтение файлов последовательного доступа
- •Ввод-вывод для файлов произвольного доступа и бинарных файлов
- •Работа с данными переменной длины
- •Один пример работы с Binary файлом
Событие Layout (Расположение)
Возникает, когда диалоговое окно, рамка или набор страниц изменяют свои размеры. Для элементов со свойством AutoSize, равным True, это событие возникает, когда пользователь изменяет значения свойств, влияющих на размер элементов. Например, увеличение размера шрифта может привести к увеличению размеров поля ввода и рамки, в которой это поле находится, что вызовет событие Layout.
Для набора страниц заголовок процедуры обработки события Layout имеет вид:
Private Sub объект_Layout (index As Long),
а для других объектов:
Private Sub объект_Layout ()
Здесь объект - имя объекта, которому принадлежит процедура, index - индекс той страницы из набора страниц, которая меняет размер.
В процедуре обработки события Layout, можно вычислить новое положение элементов управления и перерисовать экран.
События MouseDown, MouseUp (Мышь нажата, Мышь отпущена)
Возникают, когда пользователь нажимает (MouseDown) и отпускает (MouseUp) кнопку мыши.
Заголовки процедур обработки этих событий для набора страниц и полосы вкладок имеют вид:
Private Sub объект_MouseDown (index As Long, ByVal Button As fmButton,
ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)
и
Private Sub объект_MouseUp (index As Long, ByVal Button As fmButton,
ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single),
а для других элементов:
Private Sub объект_MouseDown (ByVal Button As fmButton,
ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)
и
Private Sub объект_MouseUp (ByVal Button As fmButton,
ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)
Здесь параметры имеют следующий смысл:
-
объект - имя объекта, которому принадлежит процедура,
-
index - индекс страницы или вкладки, для которой инициируется событие,
-
Button - число, определяющее, какая кнопка нажата (1 - левая, 2 - правая, 4 - средняя),
-
Shift - состояние клавиш Shift, Ctrl и Alt,
-
X и Y - горизонтальная и вертикальная координаты указателя мыши (измеряются в точках от левого края и от верхнего края окна, рамки или страницы).
Возможные значения параметра Shift:
Значение |
Описание |
1 |
нажата клавиша Shift. |
2 |
нажата клавиша Ctrl. |
3 |
нажаты клавиши Shift и Ctrl. |
4 |
нажата клавиша Alt. |
5 |
нажаты клавиши Alt и Shift. |
6 |
нажаты клавиши Alt и Ctrl. |
7 |
нажаты клавиши Alt, Shift и Ctrl. |
Для полосы вкладок параметр index определяет вкладку, которую щелкает пользователь. index - 1 означает, что пользователь щелкнул вне вкладки.
В диалоговом окне события MouseDown и MouseUp генерируются, если пользователь нажимает и отпускает кнопку мыши, когда указатель находится на свободном месте окна или на полосе прокрутки.
Типичная последовательность событий, связанных со щелчками выглядит так:
-
MouseDown;
-
MouseUp;
-
Click;
-
DblClick;
-
MouseUp.
Если кнопка мыши нажимается в тот момент, когда указатель находится над некоторым объектом, то этот объект "захватывает" мышь и получает в дальнейшем все связанные с ней события, включая последнее MouseUp. Поэтому координаты X и Y не всегда задают точку внутри границ объекта, получающего событие, связанное с мышью.
С помощью процедур обработки событий MouseDown и MouseUp можно выяснить, какая кнопка мыши нажата, и определить реакцию системы на эти щелчки. Параметр Shift позволяет также выяснить, какие из управляющих клавиш Shift, Ctrl и Alt при этом нажаты.