Всплывающие окна (подсказки) с помощью AdvAlertWindow

08.09.2011
Помимо всего прочего в коллекции TMS Component Pack нашлось место и небольшому компоненту для реализации всплывающих окон, или как их ещё называют - всплывающие подсказки.

AdvAlertWindow


Как вы уже могли догадаться, этот компонент называется AdvAlertWindow и находится на общей вкладке, т.е. TMS.

Сразу же, давайте посмотри на небольшой пример:
1) Кинем на форму одну кнопку и собственно сам AdvAlertWindow.
2) В событии OnClick кнопки напишем следующие:
AdvAlertWindow1.AlertMessages.Add.Text.Text := 'Welcome to www.accross.su';

AdvAlertWindow1.Show;

3) Компилируем приложение, нажимаем кнопку и видим в правом нижнем углу медленно появляющееся окошко:

А теперь разберём, эти две строчки маленького кода.
Первая добавляет в "Коллекцию сообщений" текст 'Welcome to www.accross.su', а вторая строчка выводит на экран наше окно. Коллекция сообщений означает, что компонент хранит в себе множество различных сообщений. А вышеописанный метод Add лишь добавляет в конец новое сообщение, также есть метод Insert, который вставляет сообщение не в конец коллекции, а выбранную позицию.
//Вставляем сообщение в позицию i

AdvAlertWindow1.AlertMessages.Insert(i).Text.Text := 'Welcome to www.accross.su';

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

Иконки


Все иконки (вперёд, назад, закрыть и т.д.) можно изменить, поставив вместо них изображение в формате .bmp, а вот и свойства отвечающие за это:
//Назад

AdvAlertWindow1.GlyphPrev: TBitmap;
//Вперёд
AdvAlertWindow1.GlyphNext: TBitmap;
//Удалить
AdvAlertWindow1.GlyphDelete: TBitmap;
//Закрыть
AdvAlertWindow1.GlyphClose: TBitmap;
//Контекстное меню, по умолчанию выключено =)
AdvAlertWindow1.GlyphPopup: TBitmap;

Всем этим кнопкам можно задать всплывающие подсказки:
AdvAlertWindow1.HintNextBtn: String;

AdvAlertWindow1.HintPrevBtn: String;
AdvAlertWindow1.HintDeleteBtn: String;
AdvAlertWindow1.HintCloseBtn: String;
AdvAlertWindow1.HintPopupBtn: String;

Что бы включить контекстное меню, надо установить свойство ShowPopup в значение True:
AdvAlertWindow1.ShowPopup := True;


Внешний вид


Первое что можно изменить во внешнем виде, так это стиль
AdvAlertWindow1.Style: TAdvAlertWindowStyle;

Или же вручную установить цвет у следующих свойств:
AdvAlertWindow1.WindowColor: TColor;

AdvAlertWindow1.WindowColorTo: TColor;

Цвет ссылок также можно изменить свойством URLColor
AdvAlertWindow1.URLColor: TColor;

которое по умолчанию имеет синий цвет.
За расположение подсказки отвечает следующее свойство:
AdvAlertWindow1.WindowPosition: TWindowPosition;

с его помощью можно указать начальное расположение окна - в любом из четырёх углов или по центру экрана.
Что бы размер окна автоматически подгонялся под размер сообщения, установите свойство AutoSize в True:
AdvAlertWindow1.AutoSize := True;


Время отображения


За временные параметры подсказки отвечают следующие свойства:
//Время отображения окна в мс

AdvAlertWindow1.DisplayTime: Integer;
//Время появления/исчезания окна в мс
AdvAlertWindow1.FadeTime: Integer;


На этой ноте пожалуй и закончим, у AdvAlertWindow есть ещё множество интересных и полезных свойств, и ничего сложного в их самостоятельном изучении нет.