Программирование >>  Проектирование интерфейса пользователя 

1 ... 105 106 107 [ 108 ] 109 110 111 ... 153


Microsoft Access 10.0 Object Library, OLE Automation, Microsoft ActiveX Data Objects 2.5 Library выбраны по умолчанию.

В диалоговом окне References перечислены названия файлов динамических библиотек, компонентов ActiveX и серверов OLE Automation, зафиксированных в базе данных реестра Windows. Эти библиотеки располагаются на жестком диске компьютера в виде файлов с расширениями .DLL, .OCXили.EXE. Каждая из библиотек содержит классы, характеризующиеся наборами свойств и методов, а некоторые обеспечивают и реакцию на определенные события. Все классы, как правило, располагают

описаниями в виде файлов оперативной справки - ищите и изучайте.

Создание программного кода формы

После присваивания свойству Наличие модуля формы значения Да Access создает

модуль, связанный с формой. Подобные модули не отображаются в списке Модули окна базы данных. Чтобы получить доступ к модулю формы, откройте форму, а затем выберите в строке меню команду Вид=>Программа (ViewCode).

Окно редактора модуля формы используется для написания кода, расширяющего возможности формы. Разновидностями кода, который может присутствовать в модуле

формы, являются обработчики событий и обычные процедуры. Код формы создается точно так же, как и любой другой. Следует особо отметить единственное обстоятельство - код модуля формы имеет отношение только к тем объектам, которые принадлежат форме.

Из тела обработчика можно вызвать любые процедуры. Рекомендуем последовательно придерживаюсь такого правила: код обработчика события целесообразно размещать в отдельной процедуре или функции, а не в самом обработчике. Например, листинг 19.1 соответствует ситуации, когда заголовок формы изменяется в обработчике события Load. Это не очень удачный вариант действий, поэтому следует внести небольшие изменения, которые помогут сделать код более наглядным и дадут возможность его повторного использования. Листинг 19.2 содержит исправленную версию примера, представленного в листинге 19. L

Листинг 19.2. Исправленный вариант примера листинга 19.1

1: Private Sub SetCaption( )

2: Caption = Моя музыкальная коллекция

3: End Sub

4: Private Sub Form Load( } 5: SetCaption 6: End Sub

Внешне код листинга 19.2 выглядит более сложным, нежели в предыдущем примере. Однако новая процедура SetCaption, которая должна изменить заголовок формы, предельно проста и (что немаловажно) удачно названа. При необходимости она впоследствии может быть вызвана и из других частей программы. Следует отметить, что код вовсе не нуждается в дополнительных комментариях.

Конечно, листинг 19.2 решает довольно упрощенную задачу. На практике приходится иметь дело с более сложными проблемами, и именно в таких случаях рассмотренный подход проявляет всю свою плодотворность и эффективность. Код, который не имеет прямого отношения к управлению объектами формы, лучше сохранять в отдельном модуле. Избегайте построения чрезмерно обширных обработчиков событий и не привязывайте к форме слишком большие фрагменты кода. Размышляя над тем, где целесо-



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

Расширенные возможности редактирования

Access 2002 имеет дополнительные комбинации клавиш, которые помогут при редактировании форм, а именно:

клавиши <F7> Ш+Р7> позволяют переключаться между режимами объекта - V и кода активной формы соответственно;

клавиша <F4> вызывает окно свойств;

клавиши <Ctrl+<> иМ+ выполняют циклическое переключение между доступными для активного объекта режимами. Например, при работе с формой посредством этих клавиш легко переключиться из режима конструктора в режим формы. Что еще удобнее, данные комбинации клавиш позволяют переключаться между всеми режимами выбранного объекта. Например, при работе с таблицами они производят переключение между режимами Конструктор (Design View), Режим таблицы (Table View), Сводная таблица (PivotTable) и Сводная диаграмма (PivotChart).

Немного практики - и вы поймете, насколько удобно пользоваться этими горячими клавишами.

Расширенные возможности форм и отчетов

В Access 2002 формы и отчеты имеют новые свойства, методы и события. По сравнению с предыдущей версией программы, новшества небольшие, но весьма полезные.

Новые свойства форм и отчетов

в Access 2002 меню Сервис=> Параметры запуска (Tools Startup) имеет опцию Значок приложения (Application Icon). Вы можете использовать для форм и отчетов

собственные пиктограммы.

Новые свойства появились и у объекта Report. Отчеты могут отображаться в модальных окнах. (Модальным называется окно, находящееся в фокусе до те тор, пока его не закроют. Прежде чем выполнять иные действия, пользователь должен закрыть окно с отчетом.) Кроме того, можно изменять свойства Тип границы (BorderStyle), Автоматический размер (AutoResize), Выравнивание по центру (AutoCenter),

Кнопки размеров окна (MinMaxButtons), Кнопка закрытия (CloseButton) и Кнопка

оконного меню (ControlBox) объекта Report.

Чтобы изменить свойства объекта Report, выберите его из списка объектов. Откройте отчет, который вы хотите изменить в режиме конструктора, и нажмите клавишу <F4> с целью вызвать окно свойств. Большинство указанных выше свойств имеют значения Да/Нет (Yes/No). Чтобы кнопка оконного меню (рис. 19.17) не работала, установите значение соответствующего свойства равным Нет.

О создании модальных окон см. раздел Построение отчета далее в этой главе.



MVSIC-11

Last Лшж

FirstName

TttU

Mrchesu

THE CAPITOL yZfiRS

TX3fP:

Ствяииа: n i <

Puc. 19.17. Выбрано меню Размер

Новые события форм

в Access 2002 имеются новые события OnUndo и OnRecordExit на уровне формы, а также OnDirty и OnUndo на уровне элемента управления. Событие OnUndo формы вызывается, когда пользователь в Access нажимает клавишу <Esc> или выбирает команду меню ПравкаОтменить (EdifUndo). Событие OnUndo на уровне элемента управления происходит при нажатии клавиши <Esc> во время редактирования имеющихся в нем значений. Событие OnDirty происходит, когда изменяется содержимое формы или поля со списком, а пользователь переходит к другому элементу управления посредством нажатия клавиши Событие OnRecordExit происходит при перемещении к другой записи.

Каждое из этих событий имеет один целочисленный аргумент Cancel. Если Cancel равен True, любое событие - OnUndo, OnDirty, OnRecordExit - не происходит.

Например, если обработчик события FormOnDirty устанавливает Cancel = True, вы не сможете изменить данные в форме.

Новые методы форм и отчетов

Объекты Form и Record имеют теперь новый метод Move, принимающий аргументы Left, Top, Width и Height, которые определяют положение и размер объектов.

Вызывается метод следующим образом:

Call Me.Move (О, О, 2000, 1500)

Новые значения параметров ft и Тор равны 0, ширина (width) - 2000, а высота (Height) - 1500 твипсов (1 твипс равен 1/1440 дюйма).

Форма подотчета

Теперь при добавлении или подотчета их можно увидеть в отдельном

окне режима конструктора. Находясь в этом режиме, выберите подотчет или подфор-му, щелкните правой кнопкой мыши и в контекстном меню выберите команду 8ид=* В отдельном окне (View=>Subform in own window).



1 ... 105 106 107 [ 108 ] 109 110 111 ... 153

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика