Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Иконка в System Tray. Одинарный и двойной клик мышкой.

472
17 июня 2005 года
Vovka
139 / / 10.02.2005
Есть ли возможность обрабатывать одинарный и двойной клик левой клавишей мышки на иконке в System Tray?
Т.е. у меня стоят обработчики на одинарный и двойной клик мышки. При любом виде клика всегда срабатывает обработчик
одинарного клика...
2.9K
19 июня 2005 года
RYM
109 / / 06.06.2005
Цитата:
Originally posted by Vovka
Есть ли возможность обрабатывать одинарный и двойной клик левой клавишей мышки на иконке в System Tray?
Т.е. у меня стоят обработчики на одинарный и двойной клик мышки. При любом виде клика всегда срабатывает обработчик
одинарного клика...


С моего курсача по си:)
//Процедура добав. удал иконки
void ChangeTIcon(HWND hwnd,HICON IconHandle,
UINT CallbackMessage,DWORD Message)
{
TCHAR sz[64];
NOTIFYICONDATA nid;
nid.cbSize=sizeof(nid);
nid.hIcon=IconHandle;
nid.hWnd=hwnd;
strcpy(nid.szTip,"Hook testing");
nid.uCallbackMessage=CallbackMessage;
nid.uFlags=NIF_MESSAGE | NIF_ICON | NIF_TIP;
nid.uID=1;
if(!Shell_NotifyIcon(Message,&nid))
MessageBox(Dlg,
TEXT("Error input(output) icon to(from) traybar!"),
TEXT("Error"),MB_OK | MB_ICONERROR);
}
//------------------------------------------------
Вот ее вызов на добавление:
....
ChangeTIcon(Dlg,hIcon,TRAYMESSAGE,NIM_ADD);
...
где - #define TRAYMESSAGE WM_USER+30
-----------
вот обработка сообщения TRAYMESSAGE
case TRAYMESSAGE:
//двойной щелчек
if(lParam==WM_LBUTTONDBLCLK){
ShowWindow(hDlg,SW_RESTORE);//отображаем диалог
ChangeTIcon(hDlg,hIcon,TRAYMESSAGE,NIM_DELETE);
}
Вот и вся обработка

2.9K
19 июня 2005 года
RYM
109 / / 06.06.2005
В lParam - тип сообщения от трэя
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог