КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Отображение текста в надписях компонентов Label и PanelСтр 1 из 4Следующая ⇒ Компоненты ввода и отображения текстовой информации Краткое описание компонентов В библиотеке визуальных компонентов Delphi существует множество компонентов, позволяющих отображать, вводить и редактировать текстовую информацию. В таблице 1 приведен их перечень с краткими характеристиками и указанием основных свойств, содержащих отображаемый или вводимый текст. Таблица 1. Компоненты ввода и отображения текстовой информации
Отображение текста в надписях компонентов Label и Panel Для отображения различных надписей на форме используются в основном компоненты Label и Panel. Label — этометка, специально предназначенная для отображения текстов. Panel – это панель, основное назначение которого компоновка компонентов в окне формы. Однако, панель можно использовать и для вывода текстов. Примеры вывода текста в компонентах приведены на рис. 1-2. Рис. 1 Примеры вывода текста в компоненте Label Рис. 2 Примеры вывода текста в компоненте Panel Тексты, отображаемые в перечисленных компонентах, определяются значением их свойства Caption. Его можно устанавливать в процессе проектирования или задавать и изменять программно во время выполнения приложения. Например: Label1.Caption := 'Новый текст';Если требуется отобразить числовую информацию, можно воспользоваться функциями FloatToStr и IntToStr, переводящими соответственно числа с плавающей запятой и целые в строку. Для формирования текста, состоящего из нескольких фрагментов, можно использовать операцию «+», которая для строк означает их склеивание (конкатенацию). Например, если в программе имеется целочисленная переменная I, отображающая число сотрудников некоторой организации, то вывести в метку Label1 информацию об этом можно оператором: Label1.Caption := 'Число сотрудников: '+IntToStr(I);Свойство Color во всех компонентах определяет цвет фона, а подсвойство Color свойства Font (записывается Font.Color)- цвет шрифта. Например, в большинстве меток (кроме верхней) на рис. 1 задан цвет фона равным clWhite — белый. Если цвет специально не задавать, то цвет фона обычно сливается с цветом контейнера, содержащего метку, так что фон просто не заметен. Для метки Label цвет и шрифт — единственно доступные элементы оформления надписи. Компонент Panel имеют свойства BorderStyle, определяющее рамку текста — бордюр. BevelInner, BevelOuter, BevelWidth, BorderWidth, которые предоставляют богатые возможности оформления надписи, как вы можете видеть на рис. 2. Таким образом, с точки зрения оформления выводимого текста максимальные возможности дает Panel и минимальные — Label. Размещение всех рассматриваемых компонентов на форме определяется, в частности, свойствами: Тор - координата верхнего края (отступ в пикселях от верхней границы родительского компонента), Left - координата левого края, Height - высота, Width - ширина. Имеются также свойства, определяющие изменение размера компонента при изменении пользователем во время выполнения приложения размеров окна. Это общие свойства всех оконных компонентов: Align - выравнивание компонента по всей верхней, левой, правой, нижней частям контейнера или по всей его клиентской области, Anchors - привязка сторон компонента к сторонам контейнера, Constraints - ограничения допустимых изменений размеров. Учтите, что использование в свойстве Anchors одновременной привязки компонента к противоположным сторонам контейнера приведет к растягиванию или сжатию компонента при изменении пользователем размеров окна. При этом в метках в ряде случаев наблюдаются неприятности, связанные с перемещением надписей (если они, например, выровнены по центру). Чтобы избежать этих неприятностей, надо в обработку события формы OnResize вставить операторы, перерисовывающие компоненты методом Repaint, например: Label1.Repaint;Размер меток Label определяется также свойством AutoSize. Если это свойство установлено в true, то вертикальный и горизонтальный размеры компонента определяются размером надписи. Если же AutoSize= false, то выравнивание текста внутри компонента определяется свойством Alignment, которое позволяет выравнивать текст по левому краю, правому краю или центру клиентской области метки. В панели Panel также имеется свойство AutoSize, но оно не относится к размерам надписи Caption. Однако, свойство выравнивания Alignment работает и для панели. В метке Label имеется свойство Wordwrap — допустимость переноса слов длинной надписи, превышающей длину компонента, на новую строчку. Чтобы такой перенос мог осуществляться, надо установить свойство WordWrap= true, свойство AutoSize= false (чтобы размер компонента не определялся размером надписи) и сделать высоту компонента такой, чтобы в нем могло поместиться несколько строк (см. пример правой нижней метки на рис. 1. Если WordWrap=false, AutoSize=false, то длинный текст, не помещающийся в рамке метки, просто обрезается (см. пример левой нижней метки на рис. 1. В панели размещение надписи в нескольких строках невозможно. Для отображения текстовой информации с дополнительной возможностью прокрутки длинных текстов можно использовать также окна редактирования Edit и MaskEdit в режиме Readonly(не изменяемый).
|