Перейти к содержанию
Fire Monkey от А до Я

[Windows] TnTRayIcon не визуальный компонент обеспечивающий управление значком в области System Tray


Рекомендуемые сообщения

 

Nix0N, спасибо за компонент.

Не хватает проверок на наличие событий

    if Assigned(mOnClick)
     then mOnClick(nil);

Спасибо! Я пол часа не мог понять почему вылетает с access violation при частых кликах (на OnClick висело Visible:=Not Visible). Оказалось что срабатывает OnDoubleClick и без проверки на Assigned(mOnDblClick) результат закономерный :-)

Вот правильный код с проверками на оба события:

 

    if LParam = WM_LBUTTONDBLCLK then
      if Assigned(mOnDblClick) then
        mOnDblClick(nil);
    if (Msg = WM_TRAYICON) and (LParam = WM_LBUTTONDOWN) then
      if Assigned(mOnClick) then
        mOnClick(nil);
Ссылка на комментарий
  • 3 недели спустя...

На XP SP3 при нажатии правой кнопкой на иконке в трее вылетает "Abstract Error". К сожалению нет возможности продебажить под XP. Может кто знает куда копать?

 

UPD:

Валится PopupMenu. Трей не причем. Похоже очередная бага в FMX.

Изменено пользователем DirtyBorov
Ссылка на комментарий
  • 5 месяцев спустя...

Переделаный компонет VCL TTrayIcon

Спасибо огромное! В прошлом не хватало OnBalloonClick.

Один вопрос - картинка берется из приложения? Вот свою бы ставить на выбор. И OnAnimate не задействовано никак. Развитие компонента ожидается?

Ссылка на комментарий
  • 3 месяца спустя...

Всем доброго времени суток. Нашёл очень жуткий костыль для того чтобы PopupMenu было по верх таскбара.

Необходимо у формы, родителя popupmenu, выставить свойство FormStyle = StayOnTop. Можно popupmenu кинуть и на другую форму, скрыть форму и выставить для неё StayOnTop. Знаю решение ужасное, но рабочее.

P.S. Тема похоже заброшена, но я не обнаружил решение.

Ссылка на комментарий
  • 3 месяца спустя...

Попап меню под панелью задач оказывается, т.к. менюшка расположена на попапе, а тот как обычная форма интерпретируется виндой. Либо свой попап делать, либо показывать вместо меню форму/окно.

Ссылка на комментарий
  • 1 год спустя...
  • 4 месяца спустя...

а как можно менять иконку?

дописал компонент, вроде работает, если кому надо:

uses
  VCL.Graphics;

....

  protected
    procedure SetIcon(Icon: TIcon);
  public
    property Icon: TIcon read FIcon write SetIcon;

...

procedure TCustomTrayIcon.SetIcon(Icon: TIcon);
begin
  FIcon:=Icon;
  FData.hIcon:=FIcon.Handle;
  Refresh;
end;
 

Изменено пользователем dim
Ссылка на комментарий
  • 2 месяца спустя...

Неплохая тема. Всю пока не читал. Но вот что интересует.

Планируется ли реализовать компоненту и для Андроид? Чтобы значок висел и в области уведомлений, и в шторке Андроид.

Само собой, с поддержкой Берлин + Токио.

Спасибо.

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...