Хочу сделать следующее: программа при запуске прячется в трей далее в зависимости от выбора пункта меню загружаем соответствующий диалог, сделали что надо, нажали OK и программа опять уходит в трей и там ждёт.
Вопрос как создавать такие немодальные диалоговые окна?
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
return FALSE;
}
Вроде работает но мне не очень это нравится. И куда в таком случае попадает сообщение после DispatchMessage? Сразу в Window Proc к диалогу?
Пробовал ещё сделать вот так:
class CMyApp : public CWinApp
{
public:
CMyDialog mydlg;
.........
mydlg.Create(IDD_MY_DIALOG,NULL);
В таком случае цикл обработки сообщений в InitInstance не нужен естественно но в Дебаг компиляции выдаёт ошибку: не может найти ресурс правда когда жму пропустить всё нормально. В релизе таких проблем нет.
Если сделать так
class CMyApp : public CWinApp
{
public:
CMyDialog* mydlg;
.........
а потом mydlg->Create(....) то после этого вызова вообще возникает ошибка доступа к памяти.
Что делать?
Re: Создание немодальных диалогов без главного окна
Здравствуйте, Qazwsx, Вы писали:
Q>Хочу сделать следующее: программа при запуске прячется в трей далее в зависимости от выбора пункта меню загружаем соответствующий диалог, сделали что надо, нажали OK и программа опять уходит в трей и там ждёт.
Q>Вопрос как создавать такие немодальные диалоговые окна?
Главное окно тут как раз и надо. Но оно будет невидимо, т.е. в InitInstance надо сделать m_pMainWnd->ShowWindow(SW_HIDE). Кстати, проект можно делать без поддержки документ-вид.
Дальше во фрейме надо организовать вывод иконки в трей и обработку нажатий мышки и команд меню.