Мне нужно создать консольное приложение с функцией main () и всплывающим немодальным диалогом , чтобы консоль все еще могла работать параллельно с немодальным диалогом (делать другие работать, как общение с немодальным диалогом).
Что бы я ни пытался, я мог открыть только диалог модальный . (когда консоль удерживается до тех пор, пока модальное диалоговое окно не закроется).
При переключении в немодальное диалоговое окно с использованием Create () и ShowWindow () диалоговое окно отображается без элементов управления и оно freeze / block (вы можете видеть курсор песочных часов).
1) Я попытался вывести немодальное диалоговое окно из функции main ():
void main()
{
AfxWinInit(GetModuleHandle(NULL), NULL, GetCommandLine(), SW_SHOW);
TestGUI * gui;
gui = new TestGUI();
gui->Create(TestGUI::IDD);
gui->ShowWindow(SW_SHOW);
// just to see if the modeless dialog responses
Sleep(10000);
}
2) Я попытался открыть немодальное диалоговое окно из InitInstance () производного класса CWinApp:
extern int AFXAPI AfxWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow);
class MyApp : public CWinApp
{
public:
virtual BOOL InitInstance()
{
gui = new TestGUI();
gui->Create(TestGUI::IDD);
gui->ShowWindow(SW_SHOW);
return TRUE;
}
private:
TestGUI * gui;
};
MyApp my_app;
void main()
{
AfxWinMain(GetModuleHandle(NULL), NULL, GetCommandLine(), SW_SHOW);
// just to see if the modeless dialog responses
Sleep(10000);
}
Во всех случаях немодальное диалоговое окно останавливается.
Я считаю, что это однострочное решение.
Пожалуйста, помогите.
TNX
Vertilka