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

1 ... 120 121 122 [ 123 ] 124 125 126 ... 147


Свойства: Outline Control

General Pictures Fonts Colors Property) N ame:

Preview:

PictureClosed

Browse...

Clear


□ K

Отмена

Применгь

Рис. 10.16. Вкладка Pictures в диалоговом окне свойств Outline Control

Для определения цвета фона (BackColor) и цвета текста (ForeColor) в диалоговом окне Properties активизируем вкладку Colors, где для свойства ForeColor определяем синий цвет (рис.

10.17).

Свойства: Outline Control

General! Pictures] Fonts Colors Property) N ame:

System Color:

Отмена

Применгь

Рис. 10.17.

На рис. 10.18 показан Конструктор формы, использующий элемент управления Outline Control и заданные свойства ForeColor, PictureClosed и PictureOpen.



FaiEn DesicpicE liEtiigh.Ecx


Fame Fopm1 3 PBjfK

Рис. 10.18.

Для события Init объекта Olec1 записываем следующий код:

&& Помещаем в массив aTabList список таблиц из словаря данных. && В связи с установленным уровнем доступа, равным по умолчанию пяти, && данный список таблиц фильтруем с помощью предложения WHERE SELECT tableslist.table name ; FROM datavocabularyltableslist ; WHERE ALLT(Tableslist.table name)<<>> Sale ; AND ALLT(Tableslist.table name)<<>> Account ; AND ALLT(Tableslist.table name)<<>> Customer

AND ALLT(Tableslist.table name)<<>> Order ; AND ALLT(Tableslist.table name)<<>> Salesman

INTO ARRAY aTabList

&& Определяем значение переменной nnPabl nnPabl=0

&& Последовательно заносим список полей для каждой таблицы && в массивы 1nnAr, 2nnAr, 3nnAr, <193>

&& После чего в объект Olec1 добавляем имена таблиц и соответствующих && этим таблицам полей, а для каждого поля устанавливаем отступ (indent)=2 && и тип изображения (PictureType)=2 FOR X=1 TO ALEN(aTabList)

ThisForm.Olec1.AddItem(ALLT(aTabList(X)))

nnTab=ALLT(aTabList(X)) nnAr= nnAr +ALLT(STR(X))

SELECT Tables.field name ; FROM datavocabularyltables ; WHERE Tables.table name = nnTab ;

INTO ARRAY &nnAr

nnAddItem= ThisForm.Olec1.AddItem

nnArn= nnAr +ALLT(STR(X))

FOR I = 1 TO ALEN(&nnArn)

&n nAddItem(ALLT(&n nArn (i)))

nnBeby=nnPabl+X+I-1

ThisForm.Olec1.indent(nnBeby)=2

ThisForm.Olec1.PictureType(nnBeby)=2 ENDFOR

nnPabl=nnPabl+ALEN(&nnArn)

ENDFOR



Права

ШР1гп1 lkeyfirm lnamefirm

key country lnameco unify =!) HFiie! oil 0- ИТугв

{Autcmohil ejiasseh ij e rear

Рис. 10.19. Форма с иерархическим списком в действии

Календарь

В следующем примере рассмотрим использование календаря для ввода или редактирования данных в поле, содержащем дату. Вместо набора даты вручную пользователь должен иметь возможность визуального выбора в календаре требуемой даты. После выбора дата должна автоматически записаться в нужное поле, как это показано на рис. 10.20. Для этого в Visual Basic откроем новый проект и создадим несложную форму. Чтобы сделать процесс создания формы максимально простым, используем, пожалуй, единственный визуальный инструмент разработчика, присутствующий в Visual Basic, - Data Form Designer - Конструктор формы для работы с данными, показанный на рис. 10.22. Необходимые пояснения для построения формы вы найдете на этом же рисунке. Построенная Конструктором форма приведена на рис. 10.21. Как видите, она мало пригодна для использования в пользовательском приложении, хотя черновая работа по размещению полей и выбора для них элементов управления выполняется автоматически без нашего участия. Мы привнесли в форму минимальные изменения и за счет корректировки значений свойств привели ее к виду, показанному на рис. 10.20. Потребовалось выполнить для объектов Label и CommandButton изменения значений свойства Caption, перемещение и изменение размеров некоторых элементов управления. Если у вас возникнут трудности с изменением размера элемента управления Data Control, установите значение свойства Allign равным 0.

Остальные элементы формы не имеют значения для работы иерархического списка, и мы не будем на них останавливаться. Готовая запущенная форма показана на рис. 10.19.



1 ... 120 121 122 [ 123 ] 124 125 126 ... 147

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