Библиотеки: Notify Icon

 

Notify Icon:

Библиотека для создания значков на панели задач Windows и отправки им текстовых уведомлений. Использование данной библиотеки поможет сделать ваши MQL программы более информативными.


Благодаря использованию этой библиотеки каждая MQL программа сможет иметь значок в области уведомления на панели задач Windows. Вы сможете отображать текстовые сообщения, отсылая их из ваших программ, либо использовать значок для индикации определенного состояния программы. Работа библиотеки основана на функции Shell_NotifyIcon. Для удобства создан класс CNotifyIcon, который скрывает детали работы с функциями Windows API и предоставляет простой набор методов для работы с тремя функциональными элементами: значком, окном уведомления и всплывающей подсказкой.

Внешний вид значка и окна уведомления показан на рисунке 1.

Пример значка и окна уведомления

Рис.1. Пример значка и окна уведомления

При наведении курсора мыши на значок всплывает подсказка, пример которой показан на рисунке 2.

Пример всплывающей подсказки

Рис.2. Пример всплывающей подсказки

Библиотека стабильно работает на системах, начиная с Windows 7/Windows Server 2008 R2.

Автор: Andrey Voytenko

 
Сам не смог догадаться, поэтому прошу подсказать, какие сценарии применения видятся полезными?
 
fxsaber:
Сам не смог догадаться, поэтому прошу подсказать, какие сценарии применения видятся полезными?

Альтернатива Алерту и графическим объектам. Любое информирование пользователя.

@Andrey Voytenko, было бы супер добавить обратную связь — открытие источника сообщения по дабл-клику на иконке.

 
Andrey Khatimlianskii:

@Andrey Voytenko, было бы супер добавить обратную связь — открытие источника сообщения по дабл-клику на иконке.

Да, Андрей, было бы хорошо, но MQL не позволяет. Нам нужно реализовать обработчик сообщений в каком нибудь окне. Из MQL создать окно через CreateWindow не получится, там нужна ссылка на коллбэк функцию (недавно придуманный в MQL указатель на функцию не подходит) так что тупик. У нас есть окно графика, но там все зафильтровано, принимать сообщения извне нельзя, пресловутая безопасность. На данный момент это можно сделать через самописную DLL которая будет создавать своё окно, свой обработчик. А это, как ты понимаешь, уже не интересно.

 
Andrey Voytenko:

Да, Андрей, было бы хорошо, но MQL не позволяет. Нам нужно реализовать обработчик сообщений в каком нибудь окне. Из MQL создать окно через CreateWindow не получится, там нужна ссылка на коллбэк функцию (недавно придуманный в MQL указатель на функцию не подходит) так что тупик. У нас есть окно графика, но там все зафильтровано, принимать сообщения извне нельзя, пресловутая безопасность. На данный момент это можно сделать через самописную DLL которая будет создавать своё окно, свой обработчик. А это, как ты понимаешь, уже не интересно.

Или через проверку чего-либо по таймеру.

 
Спасибо Андрей, ваши разработки радуют!
 
Здравствуйте, извините, я очень не привык устанавливать или кодировать такого рода файлы.

Как я должен установить это на мою платформу MT5?
есть ли определенное место, где я должен разместить его?
мне нужно добавить его на мой график или как скрипт на моем приложении mt5?

Спасибо большое, кажется, именно то, что я хотел бы (сигнализация nofitication, чтобы появиться на моем ПК)

Еще раз спасибо.
 
doudle #:
Здравствуйте, извините, я очень не привык устанавливать или кодировать такого рода файлы.

Как я должен установить это на мою платформу MT5?
есть ли определенное место, где я должен разместить его?
мне нужно добавить его на мой график или как скрипт на моем приложении mt5?

Спасибо большое, кажется, это именно то, что я хотел бы (тревога nofitication, чтобы появиться на моем ПК)

Спасибо еще раз.

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

librbay не предоставляет никаких сообщений/уведомлений по умолчанию.

Вам необходимо добавить то, о чем вы хотите получать уведомления, в свой собственный код/программу. В вашем случае предпочтительно в виде mql-сервиса.