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

1 ... 37 38 39 [ 40 ] 41 42 43 ... 147


Object.HelpContextID [ = nContextID]

Параметр nContextID определяет идентификатор темы, содержание которой выводится на экран, если пользователь нажимает клавишу F1, когда активен указанный объект.

Естественно, мы используем в программе элементы управления, чтобы узнать желание пользователя выполнить то или иное действие. Определить этот выбор помогает свойство Control.Value [ = nSetting]

которое возвращает информацию о состоянии указанного элемента управления. При более подробном описании каждого объекта мы еще остановимся на особенностях использования этого свойства. Если мы предварительно хотим установить для элемента управления какое-то значение с помощью параметра nSetting, то следует соблюдать правильный тип данных, соответствующий элементу управления. Object.Visible [ = lExpression]

Позволяет сделать указанный объект невидимым на экране, если выражение lExpression будет иметь значение .F.. При создании объекта в Конструкторе формы свойство по умолчанию имеет значение .T., в программе - .F.. При добавлении объекта в форму, пока происходит определение его свойств или при изменении сразу нескольких характеристик объекта, чтобы избежать многочисленных перерисовок, установите свойство Visible равным .F.. Object.Enabled [ = lExpression]

Позволяет сделать объект недоступным для изменения пользователем, если выражение lExpression будет иметь значение .F.. При этом данный объект перестает реагировать на какие-либо события и может использоваться, как например, TextBox или EditBox, только для отображения выводимых в него данных.

Управлять порядком перемещения пользователя по элементам управления можно с помощью свойства

Control.TabIndex [ = nOrder]

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

Если вы заранее знаете, что будущие пользователи не любят использовать мышь, то установить действие, происходящее для элемента управления при нажатии клавиши Tab можно с помощью свойства Control.TabStop [ = lExpression]

Выражение lExpression определяет, включен ли элемент управления Control в стек свойства TabIndex для перехода между элементами управления с помощью клавиши Tab. Если выражение lExpression равно .F., то элемент управления в стек не включен, и при нажатии клавиши Tab этот элемент пропускается.

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

Объекты для работы с данными

Наиболее универсальным объектом для работы с данными, бесспорно, является Text Box -текстовое поле. С его помощью можно отображать и редактировать данные любого типа, кроме, пожалуй, изображений.

Для того чтобы элемент управления отображал какие-то данные или изменял свое значение в зависимости от каких-либо условий, его надо привязать к переменной или полю в таблице. Сделать это в Visual FoxPro можно с помощью свойства Object.ControlSource [ = cName]

В параметре cName указывается имя переменной или поля в таблице.

В Visual Basic для того, чтобы привязать какой-либо объект к данным в БД, необходимо сначала создать объект Data - элемент управления для работы с БД и указать для него в свойстве

Object.DatabaseName [ = cName]

имя и путь к базе данных. Если в качестве источника данных используется формат, в котором таблицы хранятся в отдельных файлах и не объединены на постоянной основе, например FoxPro 2.x, то указывается только путь к папке с этими файлами.

В число обязательных действий включается установка значений еще для двух свойств. Сначала выберите значение для свойства Object.RecordsetType [= Value ]

Процессор баз данных Microsoft Jet допускает выбор из трех вариантов:

0 - tables - позволяет работать непосредственно с таблицами. Этот вариант допустим только для Access или БД, поддерживаемых драйверами ISAM. Но его нельзя использовать, например, для работы с БД, расположенной на MS SQL Server.



1 - dynasets - позволяет создать обновляемый набор записей, выбирая и считывая из источника данных только необходимые записи на основе уникальных ключевых значений для каждой записи. Этот способ позволяет снизить объем данных, передаваемых на рабочую станцию с сервера. Данные из полей примечаний и изображения считываются только тогда, когда возникает необходимость их отображения на экране.

2 - snapshots - позволяет создать набор записей, которые не будут иметь возможности обновления в источнике данных.

После этого вы можете выбрать нужную для работы таблицу с помощью свойства Object.RecordSource [= Value ]

В качестве параметра Value для этого свойства можно использовать имя таблицы, символьное выражение, содержащее команду SQL, приемлемую для используемой БД, или имя одного из объектов QueryDef, содержащегося в коллекции QueryDefs объекта Database (об объектах для доступа к данным, используемых в процессоре баз данных Microsoft Jet, см. главу 6).

Вот теперь, вернувшись к объекту TextBox и предварительно указав в свойстве DataSource имя элемента управления для работы с БД, мы можем назначить для него требуемый источник данных с помощью свойства Object.DataField [ = cName]

В качестве параметра cName вы можете указать имя поля, данные из которого хотите отобразить в текстовом поле.

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

В Visual Basic для этого используется текстовое поле, которое имеет специальное свойство Multiline. При установке его значения в True текстовое поле может занимать несколько строк.

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

В случае, если необходимо так организовать ввод данных, чтобы дать пользователю возможность выбирать данные только из заранее определенного списка, следует присвоить свойству Style значение 2 (drop-down list). Комбинированный список с возможностью ввода создается при значении свойства Style равным 0 (drop-down combo). В Visual Basic вы можете использовать еще одно значение - 1. При этом создается список Simple Combo, состоящий из текстового поля, в которое пользователь может вводить данные, и незакрывающегося списка.

В комбинированный список можно включать самые разнообразные данные. В Visual Basic источник данных будет определяться по такой же схеме, как для текстового поля. В Visual FoxPro тип определяется значением свойства RowSourceType. Control.RowSourceType [ = nSource]

Значения параметра nSource могут быть:

0 - (по умолчанию) - нет данных. Список заполняется во время работы пользовательской программы с помощью методов AddItem или AddListItem.

1 - значения. Список заполняется данными, непосредственно указанными в свойстве RowSource.

2 - псевдоним. Список заполняется данными из полей в таблице, открытой в указанной рабочей области.

3 - операторы SQL.

4 - запрос. В список помещаются результаты выполнения файла запроса (QPR).

5 - массив.

6 - поля. В отличие от значения 2, поля в список можно включить в произвольном порядке и из различных таблиц.

7 - файлы.

8 - структура таблицы.

Для заполнения списка используются значения, задаваемые свойством Control.RowSource [ = cList]

Параметр cList может представлять, в зависимости от значения свойства RowSourceType, разделенный запятыми список значений, таблиц, файлов, операторы SQL, имя массива или имя файла запроса. Перечень файлов можно задать, используя символы шаблона.

В Visual Basic для вывода списков файлов, доступных устройств или папок есть специальные объекты - FileListBox, DirListBox и DriveListBox. Комбинация этих элементов дает возможность интерактивного выбора пользователем каких-либо файлов или места записи данных во время работы пользовательского приложения.

В первых двух список выводимых файлов или папок определяется свойством Path.



Данные, которые принимают одно из двух значений, наиболее удобно отображать с помощью элемента управления CheckBox - поле проверки.

Свойство Value этого элемента управления может принимать значение истина .T. (1) или ложь .F. (0). Например, при изменении данных можно создать копию файла с данными до изменения, а можно не создавать. Программно для поля проверки можно задать и третье, неопределенное состояние, когда элемент управления не находится ни в первом, ни во втором состоянии. При этом свойство Value будет иметь значение NULL или 2.

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

В отличие от Visual FoxPro в Visual Basic нет родного объекта Grid. Для создания таблицы вы можете использовать поставляемые вместе с Visual Basic дополнительные элементы управления -ActiveX. Об этих объектах мы расскажем в отдельном разделе этого параграфа.

Объект Grid является объектом-контейнером, который содержит объект-контейнер Columns, содержащий, в свою очередь, объект Header. Объекты Columns и Header тоже имеют свои свойства, события и методы. По умолчанию данные в каждой колонке отображаются с помощью текстового поля, но мы можем использовать для этого любой другой элемент управления, способный работать с данными. Например, ничто не мешает нам в каждой клетке Grid разместить еще один Grid.

Объект Grid является элементом управления, который позволяет эффективно работать одновременно с несколькими строками данных и является функциональным эквивалентом Browse. В Grid мы можем помещать данные как из таблиц, так и из просмотров и курсоров или запросов. Целый ряд свойств позволяет динамически управлять Grid в зависимости от самых разнообразных условий. Например, мы можем легко обеспечить такую экзотическую функциональность, как вывод данных различным цветом в зависимости от их значения.

Для работы с данными в Grid можно использовать следующие свойства. Grid.RecordSourceType [ = nType]

Определяет тип источника данных для заполнения Grid. Параметр nType может принимать следующие значения:

0 - таблица. Автоматически открывается таблица, указанная в свойстве RecordSource.

1 - псевдоним (по умолчанию).

2 - по выбору пользователя. Источник данных устанавливает пользователь во время работы программы.

3 - запрос. В свойстве RecordSource должно быть указано имя файла-запроса (QPR).

Grid.RecordSource [ = cName]

Определяет имя источника данных. Чаще всего это псевдоним курсора или таблицы.

Специальный набор свойств позволяет изменять параметры, установленные для колонки во время работы программы при каждом обновлении Grid. К таким свойствам относятся:

DynamicAlignment - выравнивание данных;

DynamicCurrentControl - используемый элемент управления;

DynamicForeColor - цвет символов;

DynamicBackColor - цвет фона;

DynamicFontName - имя шрифта;

DynamicFontSize - размер шрифта;

DynamicFontBold - полужирное начертание шрифта;

DynamicFontItalic - курсивное начертание шрифта;

DynamicFontStrikeThru - перечеркнутое начертание шрифта;

DynamicFontUnderline - подчеркнутое начертание шрифта.

Объекты для управления работой приложения

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



1 ... 37 38 39 [ 40 ] 41 42 43 ... 147

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