49306956



Как поместить иконку в трей ? (опять)
Автор Сообщение
all__ Не на форуме
Админ
*******

Сообщений: 855
Зарегистрирован: 01.2010
Сообщение: #11
RE: Как поместить иконку в трей ? (опять)
В процессе работы с компонентом обнаружил несколько проблем, вот решение первой:
Скрыть PopUp при потере фокуса

Вторая проблема связана с тем, что приложение не дает Windows XP отключиться.

Лечится добавлением в класс обработчика события WM_QUIT:
Код:
procedure TSimpleTray.SysTrayIconMsgHandler(var Msg: TMessage);
var pt:TPoint;
begin
  case Msg.lParam of
    WM_MOUSEMOVE:;
    WM_LBUTTONDOWN: begin
        ShellExecute(appHANDLE,'',pchar(ExtractFilePath(Application.ExeName) + 'ScreenSender.exe'),'','',0);
      end;
    WM_LBUTTONUP:;
    WM_LBUTTONDBLCLK:;
    WM_RBUTTONDOWN:;
    WM_RBUTTONUP: begin
      GetCursorPos(pt);
      Popup.Popup(pt.X,pt.Y);
    end;
    WM_QUIT: Free;  // Нужно добавить эту строку!
  end;
end;

Лучшая благодарность - "Мне нравится", +1 или Like! Вверху страницы.
(Последний раз сообщение было отредактировано 18.09.2010 в 9:31, отредактировал пользователь all__.)
18.09.2010 9:23
Вебсайт Найти все сообщения Цитировать это сообщение
Создать ответ