Новые книги

Каждый, кому приходилось работать в сфере продаж, подсознательно чувствует, что продает он вовсе не товар. Он продает себя.

Любые взаимоотношения, деловые и не только, предполагают сделку. Как подчеркнуть свои достоинства? Как выделиться из толпы? Как вызвать к себе интерес, добиться расположения, завоевать доверие окружающих, покорить вершину и удержаться на ней? В этой энциклопедии «интуитивного маркетинга» собраны советы, подсказки, инструкции, как продать себя подороже.
Салонный бизнес развивается, и с каждым месяцем салонов красоты становится больше. Но открыть предприятие индустрии и привлечь клиентов – два разных вопроса. Эта книга поможет собственникам и директорам существующих салонов освоить основы рекламного дела. В книге раскрыты все эффективные варианты рекламы бьюти-предприятия, на что стоит обратить внимание в созданием макета флаера, визитки, сайта; какие подводные камни и грубые ошибки могут нанести ущерб репутации. Вы узнаете, как проводить рекламные акции по привлечению клиентов и сделать это с минимальным бюджетом. А также сможете получить действенные и проверенные на практике инструменты привлечения новых и удержания существующих клиентов.

Книга, посвященная рекламе салонов красоты, выходит впервые на территории СНГ.

Автор – Владислав Вавилов, бизнес-тренер, ведущий консультант в индустрии красоты и фитнеса, политический и общественный деятель.

Вопрос и Ответ 36

Вопросы и Ответы


      36. Каким образом работать с иконками расположенными в панели задач Win'95?

      Функция работы с, так называемыми, нотификационными иконками, которые находятся в правой части панели задач Windows'95, определена в модуле ShellAPI:

      function Shell_NotifyIcon(dwMessage: DWORD; lpData: PNotifyIconData): BOOL;

      В зависимости от переданного сообщения в параметре dwMessage, эта функция может добавлять, модифицировать или удалять иконки, данные о которых передаются в параметре lpData. Поддерживаются три сообщения:

      Сообщение

      Описание

      NIM_ADD Добавить иконку в панель задач.
      NIM_MODIFY Изменить параметры иконки в панели задач.
      NIM_DELETE Удалить иконку из панели задач.

      Для работы с нотификационными иконками необходимо правильно заполнить поля данных, которые содержатся в структуре TNotifyIconData:

      Поле

      Тип

      Описание

      cbSize

      DWORD

      Размер передаваемой структуры.

      Wnd

      HWND

      Указатель на главное окно программы.

      uID

      UINT

      Идентификатор иконки.

      uFlags

      UINT

      Устанавливаемые флаги:

      Флаг

      Назначение

      NIF_MESSAGE

      Посылать сообщение при щелчке мыши.

      NIF_ICON

      Отображать иконку в панели задач.

      NIF_TIP

      Показывать подсказку (Hint).

      uCallbackMessage

      UINT

      Номер сообщения посылаемого иконкой при щелчке на ней мышью.

      hIcon

      HICON

      Указатель на используемую иконку.

      szTip

      array [0..63] of WideChar

      Подсказка (Hint).

      Пример:

      ............

      uses ShellAPI;

      var NID :TNotifyIconData;

      ............

      {Добавление}
      procedure TForm1.bAddClick(Sender: TObject);
      begin

        {Установка необходимых значений в поля структуры TNotifyIconData}
        WITH NID DO BEGIN

          uFlags := NIF_ICON OR NIF_TIP OR NIF_MESSAGE;
          cbSize := SizeOf(NID);
          uID := 123;
          Wnd := Handle;
          szTip := 'Пример подсказки'+#0;
          hIcon := Application.Icon.Handle;
          uCallBackMessage := WM_USER+10;

        END;
        {Добавление иконки в панель задач}
        IF Shell_NotifyIcon(NIM_ADD,@NID) THEN MessageBeep(0);

      end;

      ............

      {Изменение}
      procedure TForm1.bModifyClick(Sender: TObject);
      begin

        {Установка новых значений в поля структуры TNotifyIconData}
        WITH NID DO BEGIN

          szTip := 'Пример подсказки 1'+#0;
          hIcon := LoadIcon(0,IDI_ASTERISK);

        END;
        {Изменение иконки в панели задач}
        IF Shell_NotifyIcon(NIM_MODIFY,@NID) THEN MessageBeep(0);

      end;

      ............

      {Удаление иконки из панели задач}
      procedure TForm1.bDeleteClick(Sender: TObject);
      begin

        IF Shell_NotifyIcon(NIM_DELETE,@NID) THEN MessageBeep(0);

      end;

      ............

      {Процедура реакции на события передаваемые иконкой}
      procedure TForm1.WndProc(var M: TMessage);
      var CursorPos: TPoint;
      begin

        {Проверка на принадлежность сообщения иконке}
        IF M.Msg = WM_USER+10 THEN
        {Реакция на необходимые события}
        CASE M.LParam OF

          WM_RBUTTONUP :

            BEGIN

              GetCursorPos(CursorPos);
              PopupMenu1.Popup(CursorPos.X, CursorPos.Y);

            END;

          WM_LBUTTONDBLCLK :

            ShowMessage('Двойной щелчок мыши!');

        END;
        {Передача необработанных сообщений дальше}
        INHERITED WndProc(M);

      end;

      ............

      P.S. Использование нотификационных иконок в Delphi вызывает некоторые сложности, так как, необходимо прятать окно и оставлять на экране только иконку, а простое использование свойства Visible не дает необходимого результата. Выход из этого положения видится, только, в отказе от использования объекта TApplication и работе с функциями API напрямую. Данный подход хорош еще и тем, что эти программы постоянно находятся в памяти, а использование в них объектно-ориентированной библиотеки Delphi будет отнимать слишком много ресурсов.


...предыдущая страница следующая...
оглавление



"Вопрос и Ответ 36"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2024 .
При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны!
Время генерации страницы: 0.010