Dialog & System Tray

  • Автор темы iktomy
  • Дата начала
Статус
Закрыто для дальнейших ответов.
I

iktomy

Гость
#1
Прошу помощи в следующем вопросе:
Как сделать так, что бы при завершении заполнения полей в диалоге и последующего нажатия кнопки, типа ОК!, он сворачивался в SysTray и висел там себе преспокойненько до завершения программы.
Использую Visual C++ 6 и MFC.
 
M

Mustang

Гость
#2
а что конекретно не ясно?
- обрабатываешь нажатие на Ok.
- вешаешь иконку в систем трэй
- прячешь окно
- запускаешь процедуру обработки чего-то там... что тебе нужно
- на выходе желательно убиваешь иконку в систем трее.
- выходишь из программы.

:D

спрашивай конкретнее.
 
Y

Yura_Matsuk

Гость
#3
Неплохой алгоритм. Но как, собственно, повесить иконку в систрей? ;)
 
M

Mustang

Гость
#4
тада с этого надо было и начинать вопрос! ;)

Код:
#define WM_TRY_MESSAGES	WM_USER+33

NOTIFYICONDATA	m_Icm;
HICON	m_hIcon;

m_Icon=theApp.LoadIcon(IDI_TRYICON);

BOOL CYourDialog::EnableIcon(bool b_Show)
{
 BOOL bSuccess;
 m_Icm.hWnd=m_hWnd;
 m_Icm.hIcon=m_hIcon;
 m_Icm.uID=WN_TRY_MESSAGES;              //любое число! я воспользовался своей месагой.
 m_Icm.uCallbackMessage=WN_TRY_MESSAGES;

//добовляем
 if (b_Show)
 {
  m_Icm.uFlags=NIF_ICON |NIF_TIP|NIF_MESSAGE;
  strcpy(m_Icm.szTip, "твоя первая иконка в трее!");
  bSuccess = Shell_NotifyIcon(NIM_ADD, &m_Icm);
 }
//удаляем.
 else
 {
  m_Icm.uFlags=NIF_ICON|NIF_MESSAGE;
  bSuccess = Shell_NotifyIcon(NIM_DELETE, &m_Icm);
 }	
 return bSuccess;
}
 
Статус
Закрыто для дальнейших ответов.