wx/msw/icon.h \
wx/msw/imaglist.h \
wx/msw/iniconf.h \
+ wx/msw/init.h \
wx/msw/listbox.h \
wx/msw/listctrl.h \
wx/msw/mdi.h \
wx/msw/icon.h \
wx/msw/imaglist.h \
wx/msw/iniconf.h \
+ wx/msw/init.h \
wx/msw/listbox.h \
wx/msw/listctrl.h \
wx/msw/mdi.h \
wx/msw/icon.h
wx/msw/imaglist.h
wx/msw/iniconf.h
+ wx/msw/init.h
wx/msw/listbox.h
wx/msw/listctrl.h
wx/msw/mdi.h
# End Source File\r
# Begin Source File\r
\r
+SOURCE=..\..\include\wx\msw\init.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\include\wx\msw\joystick.h\r
# End Source File\r
# Begin Source File\r
RelativePath="..\..\include\wx\msw\iniconf.h">\r
</File>\r
<File\r
+ RelativePath="..\..\include\wx\msw\init.h">
+ </File>
+ <File
RelativePath="..\..\include\wx\msw\joystick.h">\r
</File>\r
<File\r
>\r
</File>\r
<File\r
+ RelativePath="..\..\include\wx\msw\init.h"
+ >
+ </File>
+ <File
RelativePath="..\..\include\wx\msw\joystick.h"\r
>\r
</File>\r
>\r
</File>\r
<File\r
+ RelativePath="..\..\include\wx\msw\init.h"
+ >
+ </File>
+ <File
RelativePath="..\..\include\wx\msw\joystick.h"\r
>\r
</File>\r
#endif// wxUSE_UNICODE
+// Under Windows we define additional wxEntry() overloads with signature
+// compatible with WinMain() and not the traditional main().
+#if wxUSE_GUI && defined(__WINDOWS__)
+ #include "wx/msw/init.h"
+#endif
+
// ----------------------------------------------------------------------------
// Using the library without (explicit) application object: you may avoid using
// wxDECLARE_APP and wxIMPLEMENT_APP macros and call the functions below instead at
#endif // __WXWINCE__
-// ----------------------------------------------------------------------------
-// MSW-specific wxEntry() overload and wxIMPLEMENT_WXWIN_MAIN definition
-// ----------------------------------------------------------------------------
-
-// we need HINSTANCE declaration to define WinMain()
-#include "wx/msw/wrapwin.h"
-
-#ifndef SW_SHOWNORMAL
- #define SW_SHOWNORMAL 1
-#endif
-
-// WinMain() is always ANSI, even in Unicode build, under normal Windows
-// but is always Unicode under CE
-#ifdef __WXWINCE__
- typedef wchar_t *wxCmdLineArgType;
-#else
- typedef char *wxCmdLineArgType;
-#endif
-
-// wxMSW-only overloads of wxEntry() and wxEntryStart() which take the
-// parameters passed to WinMain() instead of those passed to main()
-extern WXDLLIMPEXP_CORE bool
- wxEntryStart(HINSTANCE hInstance,
- HINSTANCE hPrevInstance = NULL,
- wxCmdLineArgType pCmdLine = NULL,
- int nCmdShow = SW_SHOWNORMAL);
-
-extern WXDLLIMPEXP_CORE int
- wxEntry(HINSTANCE hInstance,
- HINSTANCE hPrevInstance = NULL,
- wxCmdLineArgType pCmdLine = NULL,
- int nCmdShow = SW_SHOWNORMAL);
-
-#if defined(__BORLANDC__) && wxUSE_UNICODE
- // Borland C++ has the following nonstandard behaviour: when the -WU
- // command line flag is used, the linker expects to find wWinMain instead
- // of WinMain. This flag causes the compiler to define _UNICODE and
- // UNICODE symbols and there's no way to detect its use, so we have to
- // define both WinMain and wWinMain so that wxIMPLEMENT_WXWIN_MAIN works
- // for both code compiled with and without -WU.
- // See http://sourceforge.net/tracker/?func=detail&atid=309863&aid=1935997&group_id=9863
- // for more details.
- #define wxIMPLEMENT_WXWIN_MAIN_BORLAND_NONSTANDARD \
- extern "C" int WINAPI wWinMain(HINSTANCE hInstance, \
- HINSTANCE hPrevInstance, \
- wchar_t * WXUNUSED(lpCmdLine), \
- int nCmdShow) \
- { \
- wxDISABLE_DEBUG_SUPPORT(); \
- \
- /* NB: wxEntry expects lpCmdLine argument to be char*, not */ \
- /* wchar_t*, but fortunately it's not used anywhere */ \
- /* and we can simply pass NULL in: */ \
- return wxEntry(hInstance, hPrevInstance, NULL, nCmdShow); \
- }
-#else
- #define wxIMPLEMENT_WXWIN_MAIN_BORLAND_NONSTANDARD
-#endif // defined(__BORLANDC__) && wxUSE_UNICODE
-
-#define wxIMPLEMENT_WXWIN_MAIN \
- extern "C" int WINAPI WinMain(HINSTANCE hInstance, \
- HINSTANCE hPrevInstance, \
- wxCmdLineArgType WXUNUSED(lpCmdLine), \
- int nCmdShow) \
- { \
- wxDISABLE_DEBUG_SUPPORT(); \
- \
- /* NB: We pass NULL in place of lpCmdLine to behave the same as */ \
- /* Borland-specific wWinMain() above. If it becomes needed */ \
- /* to pass lpCmdLine to wxEntry() here, you'll have to fix */ \
- /* wWinMain() above too. */ \
- return wxEntry(hInstance, hPrevInstance, NULL, nCmdShow); \
- } \
- wxIMPLEMENT_WXWIN_MAIN_BORLAND_NONSTANDARD
-
-
#endif // _WX_APP_H_
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/msw/init.h
+// Purpose: Windows-specific wxEntry() overload
+// Author: Julian Smart
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MSW_INIT_H_
+#define _WX_MSW_INIT_H_
+
+// ----------------------------------------------------------------------------
+// Windows-specific wxEntry() overload and wxIMPLEMENT_WXWIN_MAIN definition
+// ----------------------------------------------------------------------------
+
+// we need HINSTANCE declaration to define WinMain()
+#include "wx/msw/wrapwin.h"
+
+#ifndef SW_SHOWNORMAL
+ #define SW_SHOWNORMAL 1
+#endif
+
+// WinMain() is always ANSI, even in Unicode build, under normal Windows
+// but is always Unicode under CE
+#ifdef __WXWINCE__
+ typedef wchar_t *wxCmdLineArgType;
+#else
+ typedef char *wxCmdLineArgType;
+#endif
+
+// Windows-only overloads of wxEntry() and wxEntryStart() which take the
+// parameters passed to WinMain() instead of those passed to main()
+extern WXDLLIMPEXP_CORE bool
+ wxEntryStart(HINSTANCE hInstance,
+ HINSTANCE hPrevInstance = NULL,
+ wxCmdLineArgType pCmdLine = NULL,
+ int nCmdShow = SW_SHOWNORMAL);
+
+extern WXDLLIMPEXP_CORE int
+ wxEntry(HINSTANCE hInstance,
+ HINSTANCE hPrevInstance = NULL,
+ wxCmdLineArgType pCmdLine = NULL,
+ int nCmdShow = SW_SHOWNORMAL);
+
+#if defined(__BORLANDC__) && wxUSE_UNICODE
+ // Borland C++ has the following nonstandard behaviour: when the -WU
+ // command line flag is used, the linker expects to find wWinMain instead
+ // of WinMain. This flag causes the compiler to define _UNICODE and
+ // UNICODE symbols and there's no way to detect its use, so we have to
+ // define both WinMain and wWinMain so that wxIMPLEMENT_WXWIN_MAIN works
+ // for both code compiled with and without -WU.
+ // See http://sourceforge.net/tracker/?func=detail&atid=309863&aid=1935997&group_id=9863
+ // for more details.
+ #define wxIMPLEMENT_WXWIN_MAIN_BORLAND_NONSTANDARD \
+ extern "C" int WINAPI wWinMain(HINSTANCE hInstance, \
+ HINSTANCE hPrevInstance, \
+ wchar_t * WXUNUSED(lpCmdLine), \
+ int nCmdShow) \
+ { \
+ wxDISABLE_DEBUG_SUPPORT(); \
+ \
+ /* NB: wxEntry expects lpCmdLine argument to be char*, not */ \
+ /* wchar_t*, but fortunately it's not used anywhere */ \
+ /* and we can simply pass NULL in: */ \
+ return wxEntry(hInstance, hPrevInstance, NULL, nCmdShow); \
+ }
+#else
+ #define wxIMPLEMENT_WXWIN_MAIN_BORLAND_NONSTANDARD
+#endif // defined(__BORLANDC__) && wxUSE_UNICODE
+
+#define wxIMPLEMENT_WXWIN_MAIN \
+ extern "C" int WINAPI WinMain(HINSTANCE hInstance, \
+ HINSTANCE hPrevInstance, \
+ wxCmdLineArgType WXUNUSED(lpCmdLine), \
+ int nCmdShow) \
+ { \
+ wxDISABLE_DEBUG_SUPPORT(); \
+ \
+ /* NB: We pass NULL in place of lpCmdLine to behave the same as */ \
+ /* Borland-specific wWinMain() above. If it becomes needed */ \
+ /* to pass lpCmdLine to wxEntry() here, you'll have to fix */ \
+ /* wWinMain() above too. */ \
+ return wxEntry(hInstance, hPrevInstance, NULL, nCmdShow); \
+ } \
+ wxIMPLEMENT_WXWIN_MAIN_BORLAND_NONSTANDARD
+
+
+#endif // _WX_MSW_INIT_H_
#endif // wxUSE_BASE
-#if wxUSE_GUI && defined(__WXMSW__)
+#if wxUSE_GUI
namespace
{
// remember the parameters Windows gave us
wxSetInstance(hInstance);
+#ifdef __WXMSW__
wxApp::m_nCmdShow = nCmdShow;
+#endif
// parse the command line: we can't use pCmdLine in Unicode build so it is
// simpler to never use it at all (this also results in a more correct
return wxEntry(wxArgs.argc, wxArgs.argv);
}
-#endif // wxUSE_GUI && __WXMSW__
+#endif // wxUSE_GUI
// ----------------------------------------------------------------------------
// global HINSTANCE