Здравствуйте, Kazakovsky, Вы писали:
K>Привет!
K>Как создать Windowless приложение и подключить к нему MFC в Visual C++ 6.0 ?
K>Зачем это надо — хочу чтобы мое приложение имело только иконку в трее.
K>Есть задумка сделать Windowless-приложение из SDI MFC Application, в вызове CWinApp::OnInitInstance сделать m_pMainWnd->ShowWindow(SW_HIDE) — окно вроде не прорисовывается, однако появление рамки окна чуть заметно, и это не хорошо. Кстати, кто знает способ исключить появление рамки окна при m_pMainWnd->ShowWindow(SW_HIDE) ?
K>Может еще есть какой элегантный способ создания Windowless-приложения?
K>С уважением,
K>Алексей Казаковский
Когда вызывается CreateWindow указать размеры окна или за пределами экрана или с шириной и высотой рамки равной 0.
Но это не решение проблемы. Если бы узнать зачем это "windowless"?
А диалог с пользователем?
Попробуй поставить окну Parent в HWND_MESSAGE (см. в MSDN статью "Window Features", раздел "Message-Only Windows")
---
fyodor
Здравствуйте, Kazakovsky, Вы писали:
BOOL CMFC1TestApp::InitInstance()
{
m_nCmdShow = SW_HIDE ;
AfxEnableControlContainer();
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
// Change the registry key under which our settings are stored.
// TODO: You should modify this string to be something appropriate
// such as the name of your company or organization.
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
LoadStdProfileSettings(); // Load standard INI file options (including MRU)
// Register the application's document templates. Document templates
// serve as the connection between documents, frame windows and views.
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMFC1TestDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CMFC1TestView));
AddDocTemplate(pDocTemplate);
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE;
// The one and only window has been initialized, so show and update it.
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
Болдом показано что нужно иметь в InitInstance().
Удачи,
Valery.