Иконка в трей

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Иконка в трей

Re: Иконка в трей

Naeel Maqsudov » 29 апр 2007, 00:01

А чем не устраивает рабочий пример, на который сослался namomelkor?

Если смущает использование чужих компонентов можно обойтись просто функцией
Shell_NotifyIcon. Она одна все делает: добавляет, изменяет, удаляет.
При создании иконки системе сообщается Handle окна, которое будет получать события, например, клики на иконке.
Следовательно нужны всего 2 вещи:
1)
Определить идентификатор события const MYWM_NOTIFYICON = WM_USER+1;
Вызвать при запуске и перед завершением работы функцию Shell_NotifyIcon.

2) в нужной форме переопределить метод WndProc

Код: Выделить всё

protected
   procedure WndProc(var Message: TMessage); override;
как

Код: Выделить всё

procedure TForm1.WndProc(var Message: TMessage);
begin
  case Message.Msg of
    MYWM_NOTIFYICON: begin
       case Message.LParam of
         WM_LBUTTONDOWN : begin
            //
         end;
         WM_LBUTTONUP : begin
            //
         end;
          // другие события мыши
       end;
    end;
    else inherited;
  end;
end;
Примеры на C++ есть в справке по Wn32 API.

Re: Иконка в трей

CoSmoS » 20 апр 2007, 13:57

А можно дать рабочий пример, и если можно на описание русском.

Re: Иконка в трей

namomelkor » 20 апр 2007, 12:22

Иконка в трей

CoSmoS » 19 апр 2007, 22:19

Подскажите пожалуйста, как поместить значек программы в терэй виндоуса, и с помощью него выполнять простые действия.(показать программу, свернуть в трей)
В Delphi 7.

Вернуться к началу