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