Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700269.doc
Скачиваний:
15
Добавлен:
01.05.2022
Размер:
1.78 Mб
Скачать

5.3.3. Форма со вкладками

Если информация, с которой должен работать пользователь программного продукта, разбивается на группы, то имеет смысл использовать иной тип интерфейса – форма с несколькими вкладками или многостраничное окно, как, например, в настройках интегрированной среды программирования Delphi.

Для создания форм со вкладками предназначен специальный элемент управления PageControl ( , страница Win32). На каждой странице данного элемента (каждая создаваемая страница является объектом типа TTabSheet) можно размещать любые другие компоненты.

Для добавления или удаления вкладки при проектировании используются команды контекстного меню New Page или Delete Page, соответственно. Во время работы программы аналогичные действия выполняются вызовом конструктора Create или метода Free класса TTabSheet.

Основные свойства класса TPageControl:

  • ActivePage – имя активной страницы (вкладки);

  • ActivePageIndex – индекс активной страницы;

  • PageCount – количество страниц;

  • Pages[Index:integer] – индексированный список страниц-объектов типа TTabSheet, обычно используется для прямого доступа ко вкладкам;

  • свойство MultiLine определяет, будут ли закладки размещаться в несколько рядов, если все они в один ряд не помещаются;

  • TabPosition определяет место расположения ярлычков закладок: сверху (tpTop), снизу (tpBottom), слева (tpLeft) или справа (tpRight);

  • стиль внешнего вида заголовков вкладок (ярлычков) определяется свойством Style: обычный (tsTabs), в виде кнопок (tsButtons), в виде плоских кнопок (tsFlatButtons);

  • TabHeight и TabWidth – высота и ширина заголовков вкладок (при нулевом значении определяются автоматически);

  • свойство ScrollOpposite определят способ перемещения закладок при размещении их в несколько рядов.

В компоненте имеется ряд методов, позволяющих оперировать страницами:

  • CanShowTab – определяет, может ли пользователь выбрать указанную закладку;

  • FindNextPage – возвращает следующую или предыдущую страницу по отношению к текущей;

  • RowCount – возвращает число рядов закладок;

  • SelectNextPage – делает активной следующую или предыдущую видимую страницу.

Основные события компонента – OnChanging и OnChange. Первое из них происходит непосредственно перед переключением на другую страницу после щелчка пользователя на новой закладке. При этом в обработчик события передается по ссылке параметр AllowChange – разрешение переключения. Если в обработчике задать AllowChange := false, то переключение не произойдет. Событие OnChange происходит сразу после переключения.

5.4. Основные стандартные компоненты

5.4.1. Надписи

Надписи (компонент Label, , страница Standard палитры компонентов) используются для отображения текста без возможностей редактирования. Класс в библиотеке VCL, соответствующий компоненту Label, носит имя TLabel. Он получается добавлением символа "T" к имени компонента (верно и в отношении других компонентов).

Основное свойство класса TLabel, в котором задается выводимый текст – Caption. Следует иметь в виду, что оно имеет строковый тип, и для вывода численных значений необходимо воспользоваться функциями преобразования:

  • IntToStr – преобразует целое число в строку;

  • FloatToStr – преобразует действительное число в строковый тип ;

  • FloatToStrF – аналогична предыдущей функции, но с возможностью формирования представления числа в виде строки (форматирования).

Естественно, для класса TLabel наиболее важными являются свойства форматирования текста. Alignment – определяет способ выравнивания текста по горизонтали: по левому краю (taLeftJustify), по правому (taRightJustify), по центру (taCenter). Свойство Layout определяет выравнивание текста по вертикали: tlTop – вверху, tlCenter – в середине, tlBottom – внизу. Оно имеет смысл, если свойство AutoSize равно false. Текст может быть автоматически отформатирован в несколько строк (перенос по словам), если свойство WordWrap установлено в true и размеры метки это позволяют.