Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование на Delphi. От новичка до профессионала! 20.2.2 Отображение текста в надписях компонентов Label, Stat


Информационный Канал Subscribe.Ru


20.2.2 Отображение текста в надписях компонентов Label, StaticText и Panel 

Для отображения различных надписей на форме используются в основном компоненты Label, StaticText и Panel. Первые два из этих компонентов — метки, специально предназначенные для отображения текстов. Основное назначение панели Panel другое: компоновка компонентов в окне формы. Однако панель можно использовать и для вывода текстов. 

Тексты, отображаемые в перечисленных компонентах, определяются значением их свойства Caption. Его можно устанавливать в процессе проектирования или задавать и изменять программно во время выполнения приложения. Например: 

Label1.Caption   :=   'Новый  текст'; 

Если требуется отобразить числовую информацию, можно воспользоваться функциями FloatToStr и IntToStr, переводящими соответственно числа с плавающей запятой и целые в строку. Для формирования текста, состоящего из нескольких фрагментов, можно использовать операцию « + », которая для строк означает их склеивание (конкатенацию). Например, если в программе имеется целая переменная K, отображающая число сотрудников некоторой организации, то вывести в метку Label1 информацию об этом можно оператором:

 Label1.Caption   :=   'Число  сотрудников:'   +  IntToStr (K); 

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

Для метки Label цвет и шрифт — единственно доступные элементы оформления надписи. Компоненты StaticText и Panel имеют кроме того свойство BorderStуle, определяющее рамку текста — бордюр.  

Компонент Panel кроме свойства BorderStyle имеет еще свойства Bevellnner, BevelOuter, BevelWidth, BorderWidth, которые предоставляют богатые возможности оформления надписи. Таким образом, с точки зрения оформления выводимого текста максимальные возможности дает Panel и минимальные — Label. 

Размещение всех рассматриваемых компонентов на форме определяется, в части, свойствами Top, Left, Height, Width, Aline, Anchors, Constraints, общими для всех оконных компонентов. При изменении пользователем размеров окна приложения надо перерисовывать компоненты, отображающие текст. Иначе выравнивание текста может нарушаться. Чтобы этого не было, надо в обработку события формы OnResize вставить операторы, перерисовывающие компоненты методом Repaint:  

StaticText1.Repaint; 

Размер меток Label и StaticText определяется также свойством AutoSize. Если это свойство установлено в true, то вертикальный и горизонтальный размеры компонента определяются размером надписи. Если же AutoSize равно false, то выравнивание текста внутри компонента определяется свойством Alignment, которое позволяет выравнивать текст по левому краю, правому краю или центру клиентской области метки. В панели Panel также имеется свойство AutoSize, но оно не относится к размерам надписи Caption. Однако свойство выравнивания Alignment работает и для панели. 

В метке Label имеется свойство Wordwrap — допустимость переноса слов длинной надписи, превышающей длину компонента, на новую строчку. Чтобы такой перенос мог осуществляться, надо установить свойство Wordwrap в true, свойство AutoSize в false (чтобы размер компонента не определялся размером надписи) и сделать высоту компонента такой, чтобы в нем могло поместиться несколько строк. Если Wordwrap не установлено в true при AutoSize равном false, то длинный текст, не помещающиеся в рамке метки, просто обрезается. 

В метке StaticText перенос длинного текста осуществляется автоматически, если значение AutoSize установлено в false и размер компонента достаточен для размещения нескольких строк. Для того чтобы в StaticText осуществлялся перенос при изменении пользователем размеров окна, надо осуществлять описанную выше перерисовку компонента методом Repaint в обработчике события формы OnResize. 

В панели размещение надписи в нескольких строках невозможно. Можно отметить еще одно свойство меток Label и StaticText, превращающая их в некоторое подобие управляющих элементов. Это свойство FocusControl — фокусируемый компонент. Если в свойстве метки Caption поместить перед одним из символов символ амперсанд «&», то символ, перед которым поставлен амперсант, отображается в надписи метки подчеркнутым (сам амперсанд вообще не отображается). Если после этого обратиться к свойству метки FocusControl, то из выпадающего списка можно выбрать элемент, на который будет переключаться фокус, если пользователь нажмет клавиши ускоренного доступа: клавишу Alt + подчеркнутый символ. Подобные клавиши ускоренного доступа предусмотрены в управляющих элементах: разделах меню и кнопках. Благодаря свойству FocusControl метки могут обеспечить клавишами ускоренного доступа в иные элементы, например, те окна редактирования, в которых такие клавиши не предусмотрены. Только для того, чтобы клавиши ускоренного доступа в метках срабатывали, необходимо установить свойство ShowAccelChar этих меток в true. 

Для отображение текстовой информации, и даже с дополнительной возможностью прокрутки длинных текстов, можно использовать также окна редактирования Edit и MaskEdit в режиме ReadOnly.

 

Размещение рекламы: antonxp2004@hotmail.com на сайте или в рассылке в виде текста, более 3500 подписчиков.

 

www.hostingsystem.ru - качественный хостинг без простоев, хостинг для компаний, круглосуточная поддержка по телефону, e-mail, а также из личной панели управления пользователя, неограниченный трафик.

 

Сайт рассылки http://mydelphi7.narod.ru, на котором есть архив рассылки, также гостевая книга, переводчик.

Копировать, размещать, продавать представленную информацию запрещается.

 

Rambler's Top100



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное