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

1 ... 102 103 104 [ 105 ] 106 107 108 ... 147


объекты, реагирующие на события (системные или пользовательские). С помощью этих объектов можно разрабатывать простые и интуитивно понятные интерфейсы пользователя для управления данными.

Несмотря на то, что вы полностью можете описать форму с помощью программирования, как правило, более простым и быстрым способом будет визуальный. При этом Конструктор формы возьмет на себя труд перевода ваших пожеланий на соответствующий язык программирования. Язык, который используется в Visual Basic, а значит, и в Access, в отличие от Visual FoxPro не является объектно-ориентированным, тем не менее он объектный. Таким образом, какой бы путь создания формы вы ни выбрали, работа будет заключаться в создании объектов и обеспечении требуемой функциональности за счет использования их свойств и методов. Большинство свойств позволяют указать действия, которые должны выполниться при наступлении событий, доступных для конкретного объекта. Используя Конструктор формы, с помощью окна Свойства (Properties) мы получаем легкий доступ к любому из свойств и можем описать действия объекта в ответ на события. В коде событий мы можем использовать методы объектов, например, для перемещения на него курсора (придания статуса активного объекта в форме).

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

Формы при работе с данными используют свой набор данных. Организация процесса взаимодействия формы с данными происходит посредством установки свойства RecordSource (Источник данных) и связанных с конкретными полями источника данных объектов. Если вы хотите отображать с помощью элементов управления данные из полей, которые не относятся к источнику данных, то прямое указание в свойстве ControlSource (Данные) ни к чему не приведет. Вам необходимо организовать синхронизацию записей между данными, входящими в источник данных, и данными, не входящими, и, естественно, использовать несвязанное поле для отображения информации, не относящейся к источнику данных. Если вы ничего не поняли из этой фразы, то правильно сделали. Как правило, так не поступают, потому что подобный путь требует сложного и не оправдывающего себя кодирования. Лучший способ - это создание запроса, который одновременно может отобразить данные из нескольких таблиц. Помимо этого используйте подчиненные формы. При этом необходимо иметь поля, по которым вы можете связать данные в основной и подчиненной формах. Еще проще вызывать форму, содержащую нужные вам, но хранящиеся в другом источнике данные, динамически, с помощью реакции на события. Во многих случаях этого более чем достаточно.

Иногда, при решении более сложных задач, когда вам необходимо, чтобы никакие обстоятельства, вплоть до перебоев в энергопитании, не смогли нарушить установленные правила взаимодействий между данными, вам необходимо использовать транзакции. Для использования транзакций в Access необходимо работать с такими наборами данных, создание и доступ к которым осуществляются с помощью методов объектов доступа к данным (DAO).

Опишем форму, которую мы будем создавать в качестве примера.

На основе таблицы Order создается форма для принятия заказа. Ни одно из полей в таблице Order пользователь непосредственно не заполняет. Путем использования комбинированных списков и вызываемых форм он заполняет другие таблицы, при этом автоматически заполняются поля в новой записи таблицы Order . Перед началом редактирования новой записи начинается транзакция.

Поле key order заполняется автоматически, так как имеет тип Счетчик. Поле key salman заполняется именем текущего пользователя приложения (для примера на Access) или выбирается из списка продавцов (для примера на Visual FoxPro). Заказчик выбирается из списка заказчиков по фамилии, имени и адресу или заносится вновь (для примера на Access), при этом необходимо вызвать форму для заполнения данных о заказчике. При вызове формы для заполнения данных о заказчике также начнется транзакция, но не вложенная, а параллельная, так как данные о заказчике будут сохраняться в любом случае, для того чтобы потом засыпать его проспектами и приглашениями на презентации новых моделей автомобилей.

После этого, на основе данных, хранящихся в таблице Model, подбирается модель и, если она есть на складе и удовлетворяет заказчика, то заполняется запись в таблице Account. После этого завершается транзакция и запись вносится в таблицу физически.

Создание формы Прием заказов на Visual FoxPro

Начнем с систематизации данных о способах создания новой формы в Visual FoxPro. Таких способов достаточно много:



Панель Инструментов Form Designer

раарэ(5этыеэеиач фориа Меню Fomn


I FiiPiP Di:: iirihii pLiiri


.l.,lJ., AifdNerEcm 1 . RfirKwa Fam

Runt JTrjJ РивгГ 3

а1виМ уН

гмгш иг

Ujr-3(MnfB

JSua№ Balder

dam к* aFfl iriSft Rum o.-P=go c*i rt

Панель инструментоа Layout

Окно PropsftJes

ПаыЁЛЬ мнсггрунентоа Form Cor I rots

Панель инструмЁКГов Color Pafatts

Рис. 9.1.

New property - позволяет добавить свое свойство для создаваемой формы.

New method - позволяет добавить свой метод для создаваемой формы.

Edit Property/Method - позволяет удалить добавленные свойства и методы из описания

формы или изменить комментарий.

Include File - позволяет определить файл, содержащий директивы компилятора.

Create Form Set - создает набор форм - объект, который будет являться контейнером по

отношению к нескольким формам и панелям инструментов.

Remove Form Set - удаляет набор форм, если он создан.

Add New Form - позволяет добавить форму в набор форм.

Remove Form - удаляет форму из набора форм.

Quick Form - запускает Построитель формы (Form Builder), с помощью которого можно быстро создать простую форму для работы с данными из одной таблицы и в последующем использовать как заготовку в Конструкторе формы. Построитель формы представляет собой упрощенную версию Мастера формы. Run Form - запускает разрабатываемую форму.

Использование Мастера форм обсуждалось ранее. Это эффективный способ создания простых форм или заготовок для более сложных форм.

Выбор команды New из меню File главного меню Visual FoxPro. В открывшемся диалоговом окне New необходимо щелкнуть на кнопке Form.

Выполнение команды CREATE FORM.

В Project Manager выделение пункта Form и выбор New.

Независимо от выбранного способа загружается Конструктор формы, окно которого с основными визуальными инструментами представлено на рис. 9.1. При этом в главном меню Visual FoxPro появляется меню Form, с помощью которого можно выполнить следующие действия:



Fo(n- Designer

Зйпугж йвтоформатирования формы Запуск: Построителя форм=1 (Fomn Btilder)

Вывод на экран паалм имстэументоз CcJor Palene

BiBoc на эфан панели инс-ру(/(ентоа Forin Control

Быеод на аран акьа для прог1ам1к5Гй ios

Вывод на экран окна Properlies

Запуск Конструктора среды окружения (Data Environment)

Опредоление порядка активизации эпемечтовуправления в форме

Переход в окно Конструктора формы

Рис. 9.2.

Панель инструментов Layout предназначена для быстрого изменения расположения объектов на завершающем этапе создания формы. Ее возможности будут вам ясны, если вы посмотрите на рис. 9.3. Перед выполнением какого-либо действия предварительно нужно выбрать объект или группу объектов, удерживая клавишу Shift и щелкая на них мышкой. Операции выравнивания, которые выполняются относительно группы объектов, за образец берут самый большой размер, иначе перед выполнением операции выравнивания необходимо удерживать клавишу Ctrl. Если выбранное действие не дало желаемого результата или вовсе привело к нежелательным последствиям, не стоит отчаиваться, вспомните про кнопку Undo на стандартной панели инструментов Visual FoxPro.

rii-iMfii-.THTh L ;[ii.i :HT I-a ааднич ппйн 1зне:гтить эбъект нэ гереий план

Берти гальнSi цснтризованис Гориаун1влын1:е цен1[:и[:оыание

Вь рИБНИЬННН! ЦЫП[:1Ы ±ЫД{ЛН1-НЫ>: f>5z,iii ОЦ

Бырдвн,1заний ширины выреленныу объектпв

f>TH(ii ;L.-fT:jnLHfn : jfji-Tpi-ipogaHMf: по вцyт.лкяпl

Огнйзийльнае ийнтрирован1/е по пзр1/он-али

Вь рэБНИБЭниб по hiKHei-i гзаньшэ

Выраи Moai iwc по осрисй rpci 1ицс

ELmaQ iLioai luo по плаопй -рямицг:

Вь fiiSiiHикание i ю j \nac i рэнице

Рис. 9.3. Панель инструментов Layout

Для ускорения разработки формы служат несколько панелей инструментов.

Панель инструментов Form Designer предназначена для быстрого перехода или запуска различных элементов Конструктора формы. Она появляется автоматически при запуске Конструктора формы. Назначение кнопок на этой панели описано на рис. 9.2.



1 ... 102 103 104 [ 105 ] 106 107 108 ... 147

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