Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2014, 13:16   #1
Konstantin_ua
Не судите строго
Форумчанин
 
Аватар для Konstantin_ua
 
Регистрация: 31.03.2011
Сообщений: 202
По умолчанию tray, не могу убрать с панели когда программа разворачивается

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

код в OnCreate
Код:
TrayIcon := Application.Icon;
with tray do
 begin
   cbSize := SizeOf(TNotifyIconData);
   Wnd := F_Main.Handle;
   uID := 1;
   uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
   uCallBackMessage := WM_NOTIFYTRAYICON;
   hIcon := TrayIcon.Handle;
   szTip := ('Натисніть для того щоб розгорнути');
 end;
 Shell_NotifyIcon(NIM_ADD, Addr(tray));
onDestroy
Код:
 try                              
  with tray do
  begin
   cbSize := SizeOf(TNotifyIconData);
   Wnd := F_Main.Handle;
   uID := 1;
  end;
   Shell_NotifyIcon(NIM_DELETE, Addr(tray));
  finally
   Application.Terminate;
  end;
процедура обработчика
Код:
procedure TF_Main.WMTRAYICONNOTIFY(var Msg: TMessage);
begin
  {обрабатываем события на иконке в трее}
  case Msg.LParam of
    WM_LBUTTONDOWN:  F_Main.Visible:=true;
    //WM_LBUTTONDBLCLK: Showmessage('done');{ваш код обработки события двойного нажатия на левую кнопку мыши}
    {WM_RBUTTONDOWN: {ваш код}
    {WM_RBUTTONDBLCLK: {ваш код}
  end;
end;
все разобрался
Shell_NotifyIcon(NIM_DELETE, Addr(tray)); в OnShow;

Последний раз редактировалось Konstantin_ua; 17.01.2014 в 14:06.
Konstantin_ua вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
убрать чужое приложение с панели задач fate Win Api 13 16.09.2011 19:32
Пользователь запретил приглашать себя в приложения", сколько не парился никак не могу убрать. Как убрать? nigretos Свободное общение 3 10.06.2011 15:48
убрать программу с панели задач Pein95 Общие вопросы Delphi 4 01.02.2011 22:49
убрать приложение из панели задач Романнн Общие вопросы Delphi 2 10.11.2007 12:08