Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Статусная строка

Источник: gurin.tomsknet.ru
Оформил: RT17

Визуальный компонент - статусная строка, используемая для индикации ошибок (или нормального состояния). Компонент отображает строку сообщения и графический образ, соответствующий текущему состоянию. Компонент может быть использован как составная часть более сложной статусной строки.

Класс

TGsvStatusBarIndexDrawEvent = procedure(aIndex: Integer;
                              const aArgument: String)
                              of object;
TGsvStatusBarDrawEvent      = procedure(aImageIndex: Integer;
                              const aText: String) of object;

TGsvStatusBar = class(TCustomPanel)
public
  procedure Clear;
  procedure Draw(aImageIndex: Integer;
            const aText: String; aHelpIndex: Integer); overload;
  procedure Draw(aImageIndex: Integer; const aText: String);
            overload;
  procedure IndexDraw(aIndex: Integer; const aArgument: String);
            overload;
  procedure IndexDraw(aIndex: Integer); overload;
  property  ImageIndex: Integer read FImageIndex
            write SetImageIndex;
  property  HelpIndex: Integer read FHelpIndex
            write SetHelpIndex;

published
  property  Align;
  property  Anchors;
  property  BevelInner;
  property  BevelOuter;
  property  BevelWidth;
  property  BorderWidth;
  property  BorderStyle;
  property  Caption;
  property  Color;
  property  Ctl3D;
  property  Enabled;
  property  Font;
  property  Locked;
  property  ParentColor;
  property  ParentCtl3D;
  property  ParentFont;
  property  PopupMenu;
  property  Visible;
  property  OnContextPopup;
  property  OnClick;
  property  Images: TCustomImageList read FImages
            write SetImages;
  property  ImageHelpIndex: Integer
            read FImageHelpIndex write FImageHelpIndex;
  property  OnIndexDraw: TGsvStatusBarIndexDrawEvent
            read FOnIndexDraw write FOnIndexDraw;
  property  OnDraw: TGsvStatusBarDrawEvent
            read FOnDraw write FOnDraw;
end;

Ключевые методы, свойства и события


Метод Clear. Очистка строки.

Метод Draw. Вывод строки сообщения aText, графического образа с индексом aImageIndex, символизирующего тип собщения и значка справки, сообщающего о том, что в справочном файле имеется более подробное сообщение с контекстным индексом aHelpIndex. Графические образы хранятся в компоненте TImageList, который устанавливается свойством Images. Значок справки также хранится в компоненте Images и его индекс определяется свойством HelpImageIndex. Индекс aImageIndex фактически означает статус сообщения. Для облегчения его использования целесообразно определить набор констант статуса, соответствующих графическим образам, например:

const
  errNeutral = -1;
  errSuccess = 0;
  errWarning = 1;
  errError   = 2;
  errHint    = 3;
  errWorking = 4;

Метод Draw. Упрощенная версия предыдущего метода - не устанавливает индекс контекстной справки. На статусной строке будет отображаться только один значок, определяемый aImageIndex.

Метод IndexDraw. Этот метод используется для вывода статусного сообщения, которое задается не строкой и графическим образом, а индексом сообщения aIndex и строковым аргументом aArgument. Этот метод удобно использовать, когда сообщения об ошибках формируются со ссылкой на некоторую таблицу ошибок, содержащую текст сообщения и его статус. Сама таблица ошибок может быть реализована любым способом, например, как массив, ресурсы или текстовый файл. Вызов этого метода фактически приводит к вызову события OnIndexError, которому передается aIndex и aArgument. Это событие должно работать с конкретной реализацией таблицы ошибок.

Метод IndexDraw. Упрощенная версия предыдущего метода - отсутствует строковый аргумент.

Событие OnIndexDraw. Это событие нужно для преобразования индекса в конкретное строковое сообщение с соответствующим типом и возможной справкой, после чего вызывается основной метод Draw. Реализация события зависит от способа реализации таблицы ошибок.

Событие OnClick. По этому событию можно вызвать контекстную помощь, если ее индекс был задан в последнем статусном сообщении.

Событие OnDraw. Это событие вызывается из методов Draw. Событие можно использовать, например, для выдачи звукового сигнала или записи сообщений в файл протокола.

Свойство Images. Хранит ссылку на компонент типа TImageList, содержащий графические образы, отображаемые в статусной строке.

Свойство HelpImageIndex. Индекс в Images графического значка подробной справки.

Свойство Caption. Получение текста сообщения или его изменение без влияния на графический образ.

Свойство ImageIndex. Получение последнего статуса ошибки или установка нового значения статуса (графического образа) без влияния на строку сообщения.

Свойство HelpIndex. Получение последнего индекса контекстной справки или установка нового индекса.

Свойство ShowHint управляется автоматически в зависимости от значения HelpIndex. Если HelpIndex больше 0, то ShowHint устанавливается в True. Это позволяет задать в свойстве Hint строку, которая будет отображаться в виде подсказки в том случае, если доступна более подробная справочная информация по текущему сообщению.

Исходники: здесь

Проект Delphi World © Выпуск 2002 - 2024
Автор проекта: USU Software
Вы можете выкупить этот проект.