| ||||
![]() | ||||
<< 1.7 Конструктор выражений | Оглавление | 1.9 Языковые средства >> | ||
На этапе построения отчета можно проектировать диалоговые формы. Эти формы будут появляться на экране в процессе непосредственной генерации отчета для указания параметров создаваемого отчета.
Для разработки диалоговых форм используется тот же дизайнер, что и для страниц отчета. Для создания новой формы служит кнопка панели инструментов дизайнера - она добавляет в отчет новую страницу,
при переключении на которую меняется содержимое панели "Объекты":
Рис. 1.43.
При переключении на страницу с формой диалога рабочее поле дизайнера изменяется - теперь это форма, на которой можно размещать объекты - элементы управления:
Рис. 1.44.
В отчете может быть несколько диалоговых форм, они будут выполняться по порядку перед построением отчета.
Подключены следующие элементы управления:
Иконка |
Название |
Описание |
![]()
|
Строка текста |
|
![]()
|
Предназначен для ввода строки текста с клавиатуры |
|
![]()
|
Предназначен для ввода нескольких строк текста |
|
![]()
|
Кнопка |
|
![]()
|
Флажок |
|
![]()
|
Круглая кнопка - аналог переключателя с зависимой фиксацией |
|
![]()
|
Список строк предназначен для выбора одного из значений |
|
![]()
|
Выпадающий список строк |
|
![]()
|
Выпадающий список дат |
Все объекты имеют ряд общих свойств и методов:
* Integer Color
Цвет фона объекта
* Boolean Enabled
Разрешает или запрещает работу объекта
* String Font.Name
Имя шрифта, которым будет выведен текст объекта
* Integer Font.Size
Размер шрифта
* Integer Font.Style
Стиль шрифта. Набор констант fsBold, fsItalic, fsUnderline
* Integer Font.Color
Цвет шрифта
* Integer Height
Высота объекта
* Integer Left
Координата Х левого верхнего угла объекта
* String Name
Имя объекта
* Integer Top
Координата Y левого верхнего угла объекта
* Boolean Visible
Видимость объекта
* Integer Width
Ширина объекта
* Hide()
Аналогично установке Visible := False
Параметры:
Не передаются.
Возвращаемые значения:
Нет.
* SetFocus()
Передает фокус ввода элементу управления
Параметры:
Не передаются.
Возвращаемые значения:
Нет.
* Show()
Аналогично установке Visible := True
Параметры:
Не передаются.
Возвращаемые значения:
Нет.
Рассмотрим каждый объект в отдельности:
Назначение: вывод поясняющей надписи
Рис. 1.45.
* Integer Alignment
Выравнивание строки текста внутри рамок объекта. Одно из значений taLeftJustify, taRightJustify, taCenter.
* Boolean AutoSize
Установка ширины объекта равной максимальной ширине имеющегося в нем текста.
* String Caption
Собственно строка текста.
* Boolean WordWrap
Перенос слов внутри объекта. При этом свойство AutoSize должно быть False.
Нет.
Назначение: ввод строки текста с клавиатуры
Рис. 1.46.
* Boolean ReadOnly
Запрещает модифицировать строку текста.
* String Text
Текст, который будет показан в элементе управления по умолчанию.
Нет.
Назначение: ввод нескольких строк текста с клавиатуры.
Рис. 1.47.
* String Lines
Строки текста, который будет выведен по умолчанию. К свойству можно обращаться по индексу: Memo1.Lines[0].
* Integer Lines Count
Количество строк текста.
* Boolean ReadOnly
Запрещает модифицировать текст.
* String Text
Строки текста, представленные в виде одной строки (с символами CR+LF).
* Lines.Add(String)
Добавляет строку.
Параметры:
String - добавляемая строка.
Возвращаемые значения:
Нет.
* Lines.Clear()
Очищает строки.
Параметры:
String - добавляемая строка.
Возвращаемые значения:
Нет.
* Lines.Delete(Integer)
Удаляет строку с данным индексом.
Параметры:
Integer - индекс удаляемой строки.
Возвращаемые значения:
Нет.
Назначение:
Рис. 1.48.
* String Caption
Заголовок кнопки.
* Integer ModalResult
Определяет, надо ли завершать работу диалогового окна при нажатии на кнопку и какой результат при этом возвращать. Предназначено для автоматического закрытия окна диалога при нажатии на кнопку. Обычно кнопка "ОК" имеет ModalResult = mrOk, кнопка "Отмена" - mrCancel. Кроме того, аналогично свойство имеется у самой формы диалога. Если присвоить ему что-либо, отличное от mrNone, диалог завершит работу.
Нет.
Назначение: представляет собой флажок, который может быть в двух состояниях: включенном и выключенном. Около флажка выводится поясняющая надпись.
Рис. 1.49.
* Integer Alignment
Позиция надписи по отношению к флажку. Одна из констант taLeftJustify, taRightJustify.
* String Caption
Поясняющая надпись.
* Boolean Checked
Состояние флажка (включен/выключен).
Нет.
Назначение: представляет собой аналог переключателя с зависимой фиксацией. По этой причине в одиночку не применяется.
Рис. 1.50.
* Integer Alignment
Позиция надписи по отношению к переключателю. Одна из констант taLeftJustify, taRightJustify.
* String Caption
Поясняющая надпись.
* Boolean Checked
Состояние переключателя (включен/выключен).
Нет.
Назначение: представляет собой список строк с возможностью выбора одной из них.
Рис. 1.51.
* String Items
Строки текста. К свойству можно обращаться по индексу: ListBox1.Items[0].
* Integer ItemIndex
Номер выбранной строки.
* Integer Items.Count
Количество строк.
* Items.Add(String)
Добавляет строку.
Параметры:
String - добавляемая строка.
Возвращаемые значения:
Нет.
* Items.Clear()
Очищает строки.
Параметры:
Не паредаются.
Возвращаемые значения:
Нет.
* Items.Delete(Integer)
Удаляет строку с данным индексом.
Параметры:
Integer - индекс удаляемой строки.
Возвращаемые значения:
Нет.
Назначение: представляет собой выпадающий список строк с возможностью выбора одной из них.
Рис. 1.52.
* String Items
Строки текста. К свойству можно обращаться по индексу: ComboBox1.Items[0].
* Integer ItemIndex
Номер выбранной строки.
* Integer Items.Count
Количество строк.
* Integer Style
Тип элемента. Одно из значений csDropDown, csDropDownList, csLookup.
* String Text
Выбранное значение.
* Items.Add(String)
Добавляет строку.
Параметры:
String - добавляемая строка.
Возвращаемые значения:
Нет.
* Items.Clear()
Очищает строки.
Параметры:
Не паредаются.
Возвращаемые значения:
Нет.
* Items.Delete(Integer)
Удаляет строку с данным индексом.
Параметры:
Integer - индекс удаляемой строки.
Возвращаемые значения:
Нет.
Сама диалоговая форма также имеет набор свойств. Для того, чтобы увидеть свойства формы в инспекторе объектов, нужно щелкнуть мышкой на пустом месте формы, не занятом элементами управления.
Свойство |
Свойство по умолчанию |
Описание |
BorderStyle |
bsDialog |
Тип диалоговой формы - с фиксированными размерами либо с возможностью менять размеры окна с помощью мыши. |
Caption |
— |
Заголовок окна |
Color |
clBtnFace |
Цвет окна |
Height |
— |
Высота окна |
Left |
— |
Позиция X окна |
OnActivate |
— |
Обработчик события, вызывающийся после инициализации всех элементов окна |
Position |
poScreenCenter |
По центру экрана либо по заранее заданным координатам Left, Top |
Top |
— |
Позиция Y окна |
Type |
ptDialog |
Тип страницы - диалоговая форма либо страница отчета |
Width |
— |
Ширина окна |
Обработчик OnActivate вызывается, когда все элементы управления уже размещены на форме диалога и форма готова к выводу на экран. Этот обработчик удобно использовать для занесения каких-либо начальных значений в элементы управления, например, заполнения списка ListBox и пр.
Значения, введенные в элементы управления, часто требуется тем или иным образом передать в отчет. Существует два способа это сделать.
С использованием переменных
Для передачи информации от элемента управления в отчет используются переменные.
Например, необходимо текст из элемента управления Edit отобразить в заголовке отчета.
Рис. 1.53.
Это можно сделать следующим образом: в обработчике события OnClick кнопки OK написать:
begin
TitleText := Edit1.Text;
end
В заголовок отчета при этом надо поместить объект "Текст" с содержимым
[TitleText]:
Рис. 1.54.
Прямое обращение
Во многих случаях проще использовать для передачи введенного значения в отчет прямое обращение к элементу управления. При этом промежуточных переменных заводить не требуется:
Рис. 1.55.
<< 1.7 Конструктор выражений | Оглавление | 1.9 Языковые средства >> |
![]() | ||
![]() | ||
© ООО "Кигли", 2002-2004 |