Турбо Паскаль 6.0

TStatusLine Menus


+---------+ | TObject | +----+----+ +----+----+ | TView | +----+----+ +======+======+ | TStatusLine | +=============+

Объект TStatusLine - это видимый элемент, обычно отображаемый внизу экрана. Типичная строка статуса отображает список доступных горячих клавиш, свободную память, время дня, текущий режим редактирования и подсказки пользователя. Отображаемые элементы устанавливаются в связанный список, используя InitStatusLine в TApplication и отображаемый элемент зависит от контекста подсказки текущего видимого элемента. Как и полоса меню и панель экрана, строка статуса обычно принадлежит группе TApplication. Элементы строки статуса - это записи типа TStatusItem, которые содержат поля для текстовой строки, отображаемой в строке статуса, кода ключа, связываемого с горячей клавишей (обычно функциональная клавиша или комбинация Alt -клавиша) и команды, генерируемой, если отображаемый текст отмечен мышкой или нажата горячая клавиша. Строка статуса отображает контекстно-ориентированную подсказку. Каждый объект строки статуса содержит связанный список строк статуса Defs (типа TStatusDef), которые определяют диапазон контекстных подсказок и список элементов статуса, отображаемый, когда текущий контекст подсказки находится в этом диапазоне. Кроме того, может отображаться предопределенная строка в соответствии с текущим контекстом подсказки.

Поля

Items Items: PStatusItem; Только чтение Указатель на текущий связанный список записей типа TStatusItem.

См. так же: TStatusItem

Defs Defs: PStatusDef; Только чтение Указатель на текущий связанный список записей типа TStatusDef. Список для использования определяется текущим контекстом подсказки.

См. так же: TStatusDef, TStatusLine.Update, TStatusLine.Hint

Методы

Init constructor Init(var Bounds: TRect; ADefs: PStatusDef); Создает объект TStatusLine с размером Bounds, вызывая TView.Init. Бит ofPreProcess в Options устанавливается, EventMask устанавливается, включая evBroadcast и GrowMode устанавливается в gfGrowLoY + gfGrowHiX + gfGrowHiY. Поле Defs устанавливается в ADefs. Если ADefs - nil, Items устанавливается в nil, иначе Items устанавливается в ADefs^.Items.


См. так же: TView.Init

Load constructor Load(var S: TStream); Создает объект TStatusLine и загружает его из потока S, вызывая TView.Load, затем читая Defs и Items из потока.

См. так же: TView.Load, TStatusLine.Store



Done destructor Done; virtual; Перекрывается: Никогда Освобождает все Items и Defs в объекте TStatusLine, затем вызывает TView.Done.

См. так же: TView.Done

Draw procedure Draw; virtual; Перекрывается: Редко Рисует строку статуса, выводя строку Text для каждого элемента статуса, затем все подсказки, определенные для данного текущего контекста подсказки за полосой разделителя.

См. так же: TStatusLine.Hint

GetPalette function GetPalette: PPalette; virtual; Перекрывается: Иногда Возвращает указатель на палитру по умолчанию CStatusLine.

HandleEvent procedure HandleEvent(var Event: TEvent); virtual; Перекрывается: Редко Обрабатывает события, передаваемые строке статуса, вызывая TView.HandleEvent, затем проверяет на 3 вида специальных событий. Отметки мышкой, которые попадают внутрь прямоугольника, занимаемого элементом статуса, генерируют командное событие с Event.What, установленного в Command, для этого элемента статуса. События от клавиатуры сравниваются с полем KeyCode каждого элемента; соответствие вызывает командное событие с Command этого элемента. Общие события с командой cmCommand, SetChanged заставляют строку статуса перерисовывать себя, чтобы отразить любые горячие клавиши, которые могут быть разрешены или запрещены.

См. так же: TView.HandleEvent

Hint function Hint(AHelpCtx: Word): String; virtual; Перекрывается: Часто Этот псевдоабстрактный метод возвращает пустую строку. Он должен быть перекрыт для обеспечения строки контекстно-ориентированной подсказки для аргумента AHelpCtx. Непустая строка будет рисоваться в строке статуса после полосы разделителя.

См. так же: TStatusLine.Draw

Store procedure Store(var S: TStream); Сохраняет объект TStatusLine в потоке S, вызывая TView.Store, затем записывая все определения статуса и их ассоциированные списки элементов в поток. Сохраненный объект может быть восстановлен используя TStatusLine.Load.

См. так же: TView.Store, TStatusLine.Load

Update procedure Update; Выбирает корректный Items из списка Defs. В зависимости от текущего контекста подсказки, затем вызывает DrawView для перерисовки строки статуса, если элементы были изменены.

См. так же: TStatusLine.Defs

Палитра

Строки статуса используют палитру по умолчанию CStatusLine для отображения в элементы со 2 по 7-й в палитре стандартной программы.

1 2 3 4 5 6 +====+====+====+====+====+====+ CStatusLine | 2 | 3 | 4 | 5 | 6 | 7 | +==+=+==+=+==+=+==+=+==+=+==+=+ Нормальный текст -+ | | | | +-- Выбранный короткий Запрещенный текст -----+ | | +------ Выбранный запрещенный Короткий текст -------------+ +------------ Выбранный нормальный


Содержание раздела