Нотификации
Окно
нотификации – специальный объект Windows Mobile , позволяющий
выводить сообщения поверх всех окон для уведомления о чем-то
страшном. Система широко использует этот объект для уведомлений о
нехватке памяти или разряде батареи. Мы в пользовательских
программах можем сделать то же самое. В окне нотификации мы можем
использовать текст с html тегами, а так же в ответ на нажатие на
ссылки в тексте или кнопки девайса, запустить определнное приложение.
В свернутом виде окно нотификации отсутствует, но появляется иконка
в tray panel.
За
появление нотификации отвечает функция SHNotificationAdd:
TCHAR
szTitle[128];
-
lstrcpy(szTitle,L"My
Baloon");
-
TCHAR
szText[512];
-
lstrcpy(szText,L"Normal
text example
Bold text example");
- SHNOTIFICATIONDATA
nd;
-
ZeroMemory(&nd,sizeof(nd));
-
nd.clsid
= CLSID_MY_BALLOON;
-
nd.cbStruct
= sizeof(nd);
-
nd.dwID
= 1;
-
nd.npPriority
= SHNP_INFORM;
-
nd.hicon
= ::LoadIcon(g_hInst,MAKEINTRESOURCE(IDI_NOTIFY));
-
nd.csDuration
= 10;
-
nd.pszTitle
= szTitle;
-
nd.pszHTML
= szText;
-
nd.grfFlags
= SHNF_DISPLAYON;
-
SHNotificationAdd(&nd);
После
вызова, на экране получим следующую картинку
Чтобы
программно скрыть окно нотификации, вызывается функция:
SHNotificationRemove(&CLSID_MY_BALLOON,1);
в параметр
которой передается CLSID нашего окна нотификации.
|