|
Программирование >> Проектирование интерфейса пользователя
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).
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |