Шаг 11.
Компоненты библиотеки RX.
Вкладка RX Tools. Компонент TSecretPanel

    На этом шаге мы рассмотрим компонент TSecretPanel.

    Компонент TSecretPanel предназначен, как и компонент TPanel, для помещения в форму "панелей", на которых могут быть размещены другие элементы управления. В дополнение к свойствам и методам компонентов TPanel, TSecretPanel имеет возможность размещения "скрытого" текста и изображения, доступных для отображения при установленном в True значении свойства Active. Свойство Lines задает список строк текста, который будет "прокручиваться" в направлении снизу вверх или справа налево (в зависимости от значения свойства ScrollDirection) в клиентской области компоненты TSecretPanel при установке Active = True. Если свойство Glyph ассоциировано с графическим изображением, то одновременно это изображение будет показано в области TSecretPanel, заданной свойством GlyphLayout. По окончании прокрутки текста, если свойство Cycled = False, свойство Active автоматически установится в значение False, если же Cycled = True, прокрутка текста возобновится сначала. Вы можете также прервать прокрутку, вручную установив свойство Active в значение False.

    Событие OnPaintClient позволяет вам достигать всевозможных эффектов при отрисовке клиентской области панели как в активном состоянии (при прокрутке текста), так и в неактивном.

Таблица 1. Свойства компонента TSecretPanel
Свойство Значение
property Active: Boolean; Свойство определяет состояние компонента TSecretPanel. При установке значения этого свойства в True, все компоненты, размещенные на TSecretPanel (у которых свойство Parent указывает на этот объект), скрываются, отображается изображение, заданное свойством Glyph, и начинается автоматическая прокрутка текста, определенного свойством Lines. Если свойство Cycled = False, то при прокрутке всего текста свойство Active автоматически устанавливается в значение False. Вы можете также прервать прокрутку ранее, присвоив свойству Active значение False.
property Cycled: Boolean; Свойство Cycled определяет поведение компонента после прокрутки всего текста, заданного свойством Lines. Если Cycled = True, то прокрутка текста будет продолжена с начала, если же Cycled = False (по умолчанию), то после прокрутки всего текста свойство Active будет установлено в значение False.
property Lines: TStrings; Свойство задает набор текстовых строк, которые не отображаются компонентом TSecretPanel в нормальном его состоянии, но могут быть "прокручены" (одновременно с отображением битового изображения, заданного свойством Glyph) при установке в True значения свойства Active.
property ScrollDirection: TScrollDirection; Свойство определяет направление прокрутки срок текста при значении Active=True.
Возможные значения свойства ScrollDirection:
  • sdVertical - текст прокручивается снизу вверх;
  • sdHorizontal - прокрутка текста осуществляется в направлении справа налево.
property GlyphLayout: TGlyphLayout; Свойство задает расположение битового изображения, заданного свойством Glyph и отображаемого при прокрутке скрытого текста компонентом TSecretPanel.
property OnPaintClient: TPanelDrawEvent; Событие возникает при перерисовке панели как в активном состоянии (Active=True) при прокрутке текста, так и в неактивном. Вы можете использовать это событие для создания всевозможных эффектов при отрисовке панели. Имейте в виду, что при наличии обработчика события OnPaintClient компонента TSecretPanel не отрисовывает область, заданную параметром Rect, следовательно, при написании обработчика этого события вы должны как минимум заполнить указанную область, например вызовом метода FillRect.

    Рассмотрим пример, демонстрирующий работу компонента TSecretPanel. Поместим на форму компоненты: TSecretPanel и кнопку TButton, нажатие на которую будет активировать компонент TSecretPanel. (рис. 1)


Рис.1. Форма с размещенными компонентами

    Свойство Active установим в значение False. В свойстве Lines зададим текст, который будет прокручиваться на панели. Направление прокрутки зададим в свойстве ScrollDirection и свойству Cycled присвоим значение True. В свойстве Glyph зададим изображение, которое будет отображаться на панели TSecretPanel. Для кнопки Button1 напишем следующий обработчик:

procedure TForm1.Button1Click(Sender: TObject);
begin
    Form1.SecretPanel1.Active:=True;
end;

    Работу приложения видно на рисунке (рис. 2):


Рис.2. Работа приложения

Текст этого примера можно взять здесь.

    На следующем шаге мы рассмотрим компонент TRxTrayIcon.




Предыдущий шаг Содержание Следующий шаг