Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для [mzd]

Линуксоид-стакановец


Сообщения: 2391
Благодарности: 186

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
type TForm1 = class(TForm)
...
protected
 PROCEDURE MYWMNOTIFYICON(VAR Message: TMessage); MESSAGE MYWM_NOTIFYICON;
...
FUNCTION MyTaskBarAddIcon(wnd: HWND; uID: integer; Icon: HICON; S: STRING): Boolean;
VAR tnid: TNOTIFYICONDATA;
BEGIN
  tnid.cbSize := SizeOf(TNOTIFYICONDATA);
  tnid.Wnd := wnd;
  tnid.uID := uID;
  tnid.uFlags := NIF_MESSAGE OR NIF_ICON OR NIF_TIP;
  tnid.uCallbackMessage := MYWM_NOTIFYICON;
  tnid.hIcon := Icon;
  Lstrcpyn(tnid.szTip, PChar(S), SizeOf(tnid.szTip));
  Result := Shell_NotifyIcon(NIM_ADD, @tnid);
END;

FUNCTION MyTaskBarDeleteIcon(wnd: HWND; uID: integer): Boolean;
VAR tnid: TNOTIFYICONDATA;
BEGIN
  tnid.cbSize := SizeOf(TNOTIFYICONDATA);
  tnid.Wnd := wnd;
  tnid.uID := uID;
  Result := Shell_NotifyIcon(NIM_DELETE, @tnid);
END;

FUNCTION MyTaskBarModifyIcon(wnd: HWND; uID: integer; Icon: HICON; S: STRING): Boolean;
VAR tnid: TNOTIFYICONDATA;
BEGIN
  tnid.cbSize := SizeOf(TNOTIFYICONDATA);
  tnid.Wnd := wnd;
  tnid.uID := uID;
  tnid.uFlags := NIF_MESSAGE OR NIF_ICON OR NIF_TIP;
  tnid.uCallbackMessage := MYWM_NOTIFYICON;
  tnid.hIcon := Icon;
  Lstrcpyn(tnid.szTip, PChar(S), SizeOf(tnid.szTip));
  Result := Shell_NotifyIcon(NIM_MODIFY, @tnid);
END;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
...
MyTaskBarAddIcon(Handle, MyIconID, Application.Icon.Handle, 'Имя проги');
...
end;
...
PROCEDURE TForm1.MYWMNOTIFYICON(VAR Message: TMessage);
VAR Cur: TPoint;
BEGIN
  IF Message.WParam = MyIconID THEN
    CASE Message.LParam OF
      WM_RBUTTONDOWN:
      BEGIN
        GetCursorPos(Cur);
        PopupMenu1.Popup(Cur.X, Cur.Y);
      END;
      WM_LBUTTONUP:
       BEGIN
        GetCursorPos(Cur);
        PopupMenu1.Popup(Cur.X, Cur.Y);
      END;
    END;
END;

-------
Живя в реальном мире, стремись к невероятному... Эрнесто Че Гевара
Everybody lies. (c) House M.D.
Базовая настройка Ubuntu. Документация для новичка.
Руководство по установке, начальной настройке и основам использования операционной системы Ubuntu


Отправлено: 18:13, 14-04-2004 | #8