TSecretPanel Component

Unit
RxCtrls

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

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



Declaration
property Active: Boolean;

Description
Свойство определяет состояние компоненты TSecretPanel. При установке значения этого свойства в True, все компоненты, размещенные на TSecretPanel (у которых свойство Parent указывает на этот объект), скрываются, отображается изображение, заданное свойством Glyph
, и начинается автоматическая прокрутка текста, определенного свойством Lines.

Если свойство Cycled = False, то при прокрутке всего текста свойство Active автоматически устанавливается в значение False. Вы можете также прервать прокрутку ранее, присвоив свойству Active значение False.



Declaration
property Cycled: Boolean;

Description
Свойство Cycled определяет поведение компоненты после прокрутки всего текста, заданного свойством Lines. Если Cycled = True, то прокрутка текста будет продолжена с начала, если же Cycled = False (по умолчанию), то после прокрутки всего текста свойство Active будет установлено в значение False.



Declaration
property Lines: TStrings;

Description
Свойство задает набор текстовых строк, которые не отображаются компонентой TSecretPanel в нормальном ее состоянии, но могут быть "прокручены" (одновременно с отображением битового изображения, заданного свойством Glyph) при установке в True значения свойства Active.



Declaration
property ScrollDirection: TScrollDirection;

Description
Свойство определяет направление прокрутки срок текста при значении Active=True.
Возможные значения свойства ScrollDirection:
• sdVertical — текст прокручивается снизу вверх.
• sdHorizontal — прокрутка текста осуществляется в направлении справа налево.


Declaration
property GlyphLayout: TGlyphLayout;

Description
Свойство задает расположение битового изображения, заданного свойством Glyph и отображаемого при прокрутке скрытого текста компонентой TSecretPanel.


Declaration
property OnPaintClient: TPanelDrawEvent;

Description
Событие возникает при перерисовке панели как в активном состоянии (Active=True) при прокрутке текста, так и в неактивном.
Вы можете использовать это событие для создания всевозможных эффектов при отрисовке панели.

Внимание
Имейте в виду, что при наличии обработчика события OnPaintClient компонента TSecretPanel не отрисовывает область, заданную параметром Rect, следовательно, при написании обработчика этого события вы должны как минимум заполнить указанную область, например вызовом метода FillRect.


Example

procedure TForm1.SecretPanel1PaintClient(Sender: TObject; Canvas: TCanvas;
Rect: TRect);
begin
if not (Sender as TSecretPanel).Active then
Canvas.FillRect(Rect)
else
GradientFillRect(Canvas, Rect, clYellow, clWhite, fdBottomToTop, 64);
end;