Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

План заняття. 1. Огляд поняття строка стану




1. Огляд поняття строка стану

2. Характеристика властивостей компонента строка стану

Строка состояния - это управляющий элемент, с помощью которого пользователю выдается разного рода вспомогательная информация о текущем состоянии хода выполнения приложения, например, отображение координат указателя мыши в статусной строке графических редакторов или указание количества страниц и номера текущей страницы в текстовом редакторе Word. Также могут отображаться дата, время и т.д.

В Delphi для этой цели используется специальный компонент StatusBar. Данный компонент представляет собой ряд панелей, обычно располагающихся одна за другой внизу главной фор­мы приложения. Каждая такая панель содержит текущую спра­вочную информацию. Полный список панелей содержится в свой­стве Panels компонента StatusBar.

Можно также создавать строку состояния на основе компонен­та Panel. Однако данная возможность не будет здесь рассматри­ваться, а глава будет посвящена именно обучению работе с ком­понентом StatusBar.

Прежде всего, целесообразно рассмотреть свойства данного компонента.

Свойство SimplePanel (тип Boolean) определяет, будет статусная строка содержать одну панель или несколько. Для того чтобы отображалась одна панель, данное свойство нужно устано­вить в True, чтобы несколько - в False.

Свойство SimpleText (тип String) содержит текст, ко­торый выводится в статусной строке в случае, если свойство SimplePanel имеет значение True.

Свойство Count (тип Integer) доступно только для чтения и показывает, сколько панелей содержится в строке состояния.

Свойство SizeGrip (тип Boolean) определяет возможность изменения размеров статусной строки. Если свойство имеет зна­чение True, то в правом нижнем углу статусной строки будет отображаться специальная треугольная область захвата, с помо­щью которой можно изменять размеры статусной строки путем растягивания. В случае, когда строка состояния выравнивается по нижнему краю формы, использование области захвата будет при­водить к изменению размеров самой формы. Однако при этом для свойства BorderStyle формы должно быть установлено значе­ние bsSizeable или bsSizeToolWin, в противном случае об­ласть захвата появляться не будет.

Свойство AutoHint (тип Boolean), установленное в True, задает автоматическое отображение в статусной строке значения текущей всплывающей подсказки (hint). При этом сама всплы­вающая подсказка не показывается в случае наведения указателя мыши на соответствующий элемент управления.

Свойство Panels (тип TStatusPanels) содержит список панелей статусной строки. При выполнении приложения можно обращаться к соответствующей панели по ее индексу (нумерация начинается с нуля).

В качестве основных свойств панели как объекта класса TStatusPanels можно выделить следующие.

1) Свойство Alignment (тип TAlignment) задает способ выравнивания текста относительно панели.

2) Свойство Bevel (тип TStatusPanelBevel) определяет вид панели: углубленная, приподнятая или плоская.

3) Свойство Style (тип TStatusPanelStyle) устанавли­вает способ отображения информации на панели и может прини­мать одно из двух значений:

psText - в качестве содержимого панели используется значе­ние свойства Text (по умолчанию);

psOwnerDraw - вывод текстовой и графической информации выполняется программно с использованием поверхности рисова­ния (Canvas) строки состояния.

4) Свойство Text (тип String) содержит текст, выводимый на панели.

5) Свойство Width (тип Integer) задает ширину панели. По умолчанию устанавливается ширина в 50 пикселей, а последняя панель занимает все оставшееся свободное пространство строки состояния.

Для наглядной демонстрации использования строки состояния будет рассмотрен следующий пример.

Пример 9.2. Пусть необходимо создать приложение, отра­жающее различные способы использования строки состояния.

Решение. На первом шаге на форму помещаются такие компо­ненты: строка состояния StatusBar, многострочный редактор Memo, переключатель CheckBox, группа зависимых переключателей Ra-dioGroup и две кнопки Button с заголовками Очистить и Выход.

Свойству AutoHint компонента StatusBar присваивается зна­чение True. Затем через Инспектор объектов следует обратиться к свойству Panels и вызвать редактор панелей Editing Status-Barl.Panels, в котором добавляются шесть новых панелей. На­чальные заголовки каждой панели задаются путем изменения свойства Text в соответствии с рис. 9.4.

 

Свойству Width для каждой панели задается соответствующее значение, на собственное усмотрение разработчика приложения. В панелях будет отображаться следующая информация:

Панель 0 - значение текущей всплывающей подсказки (hint), то есть подсказки для того элемента, над которым в данный момент находится указатель мыши;

Панель 1 - текущий цвет текста в поле редактора Memo;

Панель 2 - текущий стиль шрифта, которым отображается текст в поле редактора Memo (обычный или курсив);

Панель 3 - текущее состояние клавиши Caps Lock (если клавиша включена, то выводится строка «Верхний ре­гистр», если выключена, то показывается строка «Нижний регистр»);

Панель 4 - количество строк, которые в текущий момент времени содержатся в редакторе Memo;

Панель 5 - текущее время.

В поле многострочного редактора Memo пользователь получа­ет возможность вводить произвольный текст.

Свойству Caption переключателя CheckBox устанавливается значение «Курсив». Данный переключатель будет определять, обычным или наклонным шрифтом должен отображаться текст в редакторе Memo.

Свойство Caption группы переключателей RadioGroup полу­чает значение «Цвет текста». Затем путем изменения свойства Items задаются три переключателя с названиями «Черный», «Красный» и «Синий». Эти переключатели будут обеспечивать изменение цвета текста, содержащегося в поле многострочного редактора. Свойству Itemlndex данного компонента присваива­ется значение 0 (таким образом, в начальный момент времени текст в редакторе отображается черным цветом).

По нажатию кнопки «Очистить» содержимое редактора Memo удаляется.

Программная реализация решения данной задачи приводится ниже

 

 

 

 

 

 

Необходимо обратить внимание, что в первой панели строки со­стояния отображается текущая всплывающая подсказка. Как видно из рисунка, эта панель содержит строку «Очистка». Это означает, что в момент копирования данного изображения указатель мыши был установлен на кнопку Очистить, а свойству Hint этой кнопки присвоено значение «Очистка».

 

Контрольні питання

1. Огляд поняття строка стану

2. Характеристика ластивостей компонента строка стану


САМОСТІЙНА РОБОТА СТУДЕНТА

ЗМІСТОВИЙ МОДУЛЬ 1: ОСНОВНІ ПОНЯТТЯ ТА ОЗНАЧЕННЯ. ЕЛЕМЕНТИ МОВИ. КЕРУВАННЯ ПРОЦЕСОМ ОБЧИСЛЕНЬ

ТЕМА 1.4: ЕЛЕМЕНТИ ІНТЕРФЕЙСУ

 

Самостійне заняття №7 – Елементи з закладками




Поделиться с друзьями:


Дата добавления: 2014-12-25; Просмотров: 324; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.