Язык сайта :

Главная
Новости
Продукты
Партнеры
Статьи
Контакты
Фоторепортажи
Download
Вакансии
О компании
 Версия для печати
Формы SMarket 4.0: Columns
В этой статье я хочу остановиться на таком инструменте форм, как Columns (Колонки). В первую очередь он предназначен для создания таблиц, как простых (все элементы управления расположены в строку), так и сложных (элементы записи расположены в двух и более уровнях). Лучше всего использование механизма колонок продемонстрировать на примере.
Попробуем создать альтернативную форму справочника «Товары». Сначала необходимо создать новую форму. Для этого откроем окно проекта (нажав на соответствующую кнопку панели инструментов, или используя меню «Сервис»->«Окно проекта»), выберем закладку «Формы» и нажмем кнопку «Создать». В открывшейся панели введем имя формы, например «GoodsList» и нажмем Enter.
SMarket 4.0 создает новую форму и открывает ее в режиме конструктора (рис.1).

Рис.1

Откроем окно свойств (вызвав с помощью правой кнопки мыши контекстное меню и выбрав пункт «Окно свойств»).
Добавим источник записей (в нашем случае это справочник «Goods»), выбрав свойство «Источник набора записей» и введя строку «Directory!Goods» (рис.2).

Рис.2

Зададим «Тип формы» = smStripForm (ленточная). Пусть в нашей форме отображается следующая информация: код товара, наименование, штрихкод, а также значения наценки (минимальная, нормальная и максимальная). Добавим соответствующие поля ввода. Для этого выберем в панели элементов управления пункт «Поле», поместим курсор мыши в область данных макета формы и нажмем левую кнопку мыши. Создадим таким образом 6 полей. Теперь свяжем созданные элементы управления с соответствующими полями источника записей, отмечая поочередно каждый элемент и выбирая из списка свойства «Источник данных» нужное поле (рис.3).

Рис.3

Расширим секцию «Заголовок данных», перетащив вниз мышью разделитель «Области данных». Добавим заголовки полей (выделим область «Заголовка данных» и, удерживая клавишу Shift, 7 раз нажмем на кнопку «Подпись» панели инструментов). Введем текст в каждую «Подпись» (выбираем элемент, нажимаем левую кнопку мыши в его центре и набираем заголовок) (рис.4).

Рис.4

Наконец, переходим к самому интересному. В верхней части макета формы отображается зона колонок. При создании формы автоматически создается только одна. Переместим курсор мыши на нее и нажмем правую кнопку.
В появившемся контекстном меню выберем «Вставить справа». Создадим таким образом 4 колонки верхнего уровня (рис.5).

Рис.5

Теперь, установив курсор в область последней колонки, добавим субколонку (подчиненную), и способом, аналогичным описанному выше для колонок верхнего уровня, добавим еще 2 колонки (рис. 6).

Рис.6

Свяжем элементы управления на форме с созданными колонками. Для этого выделим поле [Code] и, удерживая клавишу Shift, подпись «Код». Переместим курсор мыши на колонку С1, нажмем правую кнопку мыши и выберем в контекстном меню «Привязать». Повторим эту операцию, привязывая элементы [BarCode] и «Штрихкод» к колонке С2, [Name] и «Наименование» к колонке С3, «Наценка» к колонке С4, [NacMin] и «Мин.» к колонке С5, [NacNorm] и «Норм.» к колонке С6, [NacMax] и «Макс.» к колонке С7 (рис.7).

Рис.7

Выровняем элементы по горизонтали, используя пункт контекстного меню «Выровнять»->«По верхнему краю», переместим их к верхней границе секций и подкорректируем размер первых 3 подписей (рис.8).

Рис.8

Теперь элементы управления связаны с соответствующими колонками и их шириной и положением можно управлять с помощью колонки. Например, если необходимо программно изменить ширину поля [Code] (и, одновременно, подписи «Код»), достаточно в модуле обработки формы написать Me.Columns(“C1”).Width=150.
Очень часто необходимо дать пользователю возможность самостоятельно изменять ширину или положение колонки.
Для этого необходимо для элементов управления «Подпись», связанных с колонками, свойству «Управление колонкой» установить значение True.
На рис.9 и 10 показана созданная нами форма до и после небольшой «косметической» правки.

Рис.9

Рис.10
Автор : А. Балакин, ТФПК Лтд
Опубликовано : 23-09-2002, 16:53
Copyright (c) 1998-2022 ТФПК Лтд.