- •Объект 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 файлом
CommandButton - командная кнопка
Командная кнопка запускает на выполнение действия системы, которые обычно задаются в процедуре обработки события Click (щелчок кнопки). Вот ее некоторые свойства.
-
Название кнопки - значение свойства Caption - можно установить при проектировании диалогового окна, а затем менять из программы.
-
Булево свойство Cancel определяет, является ли данная кнопка кнопкой отказа. Если свойство равно True, то нажать эту кнопку можно, щелкнув по ней мышью, либо нажав клавишу <Esc>, либо нажав клавишу <Enter> в тот момент, когда она находится в фокусе. По умолчанию задается False. Это свойство может быть установлено только для одной кнопки в окне (это отслеживается системой автоматически). Типичные действия, которые должны выполняться при выборе кнопки отказа, состоят в восстановлении состояний и значений элементов управления и связанных с ними данных, измененных пользователем во время работы в диалоговом окне. Их следует описать в процедуре обработки события Click для данной кнопки.
-
Булево свойство Default определяет, выбирается ли кнопка по умолчанию, если пользователь щелкает окно или нажимает клавишу Enter, когда фокус не находится на другой командной кнопке. По умолчанию свойству задается значение False.
-
Булево свойство TakeFocusOnClick определяет, переместится ли фокус на данную кнопку после выбора ее щелчком. Иногда для этого свойства удобно установить False, чтобы, щелкнув кнопку, выполнить действие над содержимым элемента, находящегося в фокусе.
События: BeforeDragOver, BeforeDropOrPaste, BeforeUpdate, Change, Click, DblClick, Enter, Error, Exit, KeyDown, KeyUp, KeyPress, MouseDown, MouseUp, MouseMove.
Методы: Move, SetFocus, Zorder.
Frame - рамка (группы)
Элемент управления Frame служит для явно видимого объединения в группу нескольких других элементов управления. Кнопки-переключатели (OptionButton), помещенные в рамку, автоматически являются взаимоисключающими, т. е. при выборе одной из них остальные сразу же отключаются (получают значение False). Поведение других элементов, помещенных в рамку, не меняется.
Заголовок на верхней границе рамки задается свойством Caption. Как и для диалогового окна, для рамки можно задать рисунок, являющийся фоном (свойство Picture), определить область прокрутки и вид полосы прокрутки (свойства ScrollLeft, ScrollTop, ScrollHeight, ScrollWidth, ScrollBars). Свойство Zoom определяет коэффициент уменьшения или увеличения изображений всех элементов внутри рамки (измеряется в процентах и принимает значения от 10% до 400%).
События: AddControl, BeforeDragOver, BeforeDropOrPaste, Click, DblClick, Enter, Error, Exit, KeyDown, KeyUp, KeyPress, Layout, MouseDown, MouseUp, MouseMove, RemoveControl, Scroll, Zoom.
Методы: Copy, Cut, Move, Paste, RedoAction, Repaint, Scroll, SetDefaultTabOrder, UndoAction, ZOrder.
Image - изображение
Элемент Image - это прямоугольное графическое изображение в диалоговом окне. Его используют как для улучшения внешнего вида окна, так и для показа пользователю информации, представляемой в виде фотографий, рисунков, графиков, диаграмм. Рисунок в элементе Image можно масштабировать, изменять выводимую часть (если рисунок больше изображения на экране), можно динамически изменять размеры изображения, но рисунок нельзя редактировать в диалоговом окне.
Какой именно рисунок или графический образ показывается на экране, определяет свойство Picture. Его значением может быть изображение в одном из графических форматов:. bmp,. cur,.gif,. ico,. jpg и. wmf. Задать значение этого свойства можно при проектировании окна из списка свойств элемента Image. Для этого, щелкнув кнопку (…) в строке со свойством Picture, вызовите программу поиска и загрузки графических файлов, найдите файл с нужным изображением и выберите кнопку Open. Чтобы вывести или изменить изображение программно, используется функция LoadPicture. Например, следующий оператор выводит изображение автомобиля в элемент Image1:
Image1. Picture = LoadPicture ("c:\windows\car. bmp")
Свойство PictureSizeMode определяет масштабирование рисунка. Если его значение fmPictureSizeModeClip = 0, части рисунка, выходящие за рамку изображения, обрезаются, а при fmPictureSizeModeStretch = 1 рисунок масштабируется так, чтобы занимать всю площадь изображения. При этом может произойти искажение (относительное растяжение или сжатие) по горизонтали или вертикали. При значении fmPictureSizeModeZoom = 3 рисунок масштабируется с сохранением своих относительных размеров так, что, либо его высота, либо его ширина совпадают с высотой или шириной изображения на экране. Ниже показано влияние свойства PictureSizeMode на изображение.
увеличить изображение Рис. 13.3. Варианты масштабирования изображений
Расположение рисунка внутри рамки изображения задается свойством PictureAlignment. Возможные значения этого свойства перечислены в таблице.
Имя константы |
Значение |
Рисунок расположен |
fmPictureAligmentTopLeft |
0 |
в верхнем левом углу |
fmPictureAlignmentTopRight |
1 |
в верхнем правом углу |
fmPictureAlignmentCenter |
2 |
по центру |
fmPictureAlignmentBottomLeft |
3 |
в нижнем левом углу |
fmPictureAlignmentBottomRight |
4 |
в нижнем правом углу |
Если значение свойства PictureSizeMode равно fmSizeModeStretch, рисунок занимает всю площадь изображения независимо от значения PictureAlignment. В частности, на рисунке 13. 3 свойство PictureAlignment для всех трех изображений имеет значение 0 (fmPictureAligmentTopLeft).
Если размер вставляемого рисунка меньше размера элемента, в который его помещают, всю поверхность изображения можно покрыть копиями рисунка. Для этого булеву свойству PictureTiling надо присвоить True (по умолчанию у него значение False).
Каким образом располагаются копии рисунка на изображении, зависит от значений свойств PictureAlignment и PictureSizeMode. Например, если первое равно fmPictureAligmentTopLeft, первая копия рисунка разместится в левом верхнем углу, при fmPictureAlignmentCenter первая копия рисунка располагается в центре изображения, а от нее во все стороны распространяются остальные. Если свойство PictureSizeMode равно fmSizeModeStretch, все изображение занято одной копией рисунка, при fmPictureSizeModeZoom может появиться несколько копий, обрезанных по краям изображения. Ниже показано влияние этих параметров на покрытие изображения копиями рисунка автомобиля:
увеличить изображение Рис. 13. 4. Влияние параметров PictureAlignment и PictureSizeMode
События: BeforeDragOver, BeforeDropOrPaste, Click, DblClick, Error, MouseDown, MouseUp, MouseMove.
Методы: Move, Zorder.