// window proc
// ---------------------------------------------------------------------------
-#if defined(__GNUWIN32__) && !defined(__MINGW32__)
+#if defined(__GNUWIN32__) && !defined(wxUSE_NORLANDER_HEADERS)
# define CASTWNDPROC (long unsigned)
#else
# ifdef __BORLANDC__
# endif
# else
-# if defined (__WIN32__) && defined(STRICT)
+# if defined (__WIN32__) && defined(STRICT)
typedef long (_stdcall * WndProcCast) (HWND, unsigned int, unsigned int, long);
# define CASTWNDPROC (WndProcCast)
# elif defined(__WIN16__)
typedef int (pascal * WndProcCast) ();
# define CASTWNDPROC (WndProcCast)
# else
- typedef int (PASCAL * WndProcCast) ();
-# define CASTWNDPROC (WndProcCast)
+# if defined(__VISUALC__) && defined(STRICT)
+# define CASTWNDPROC (WNDPROC)
+# else
+ typedef int (PASCAL * WndProcCast) ();
+# define CASTWNDPROC (WndProcCast)
+# endif
# endif
# else
# define CASTWNDPROC
#endif
#if !defined(__WIN32__) // 3.x uses FARPROC for dialogs
+#ifndef STRICT
#define DLGPROC FARPROC
#endif
+#endif
#if wxUSE_PENWIN
WXDLLEXPORT void wxRegisterPenWin();
// ---------------------------------------------------------------------------
// macros to make casting between WXFOO and FOO a bit easier: the GetFoo()
-// returns Foo cast to the Windows type for oruselves, while GetFoosFoo() takes
-// an argument which should be a pointer to wxFoo (is this really clear?)
+// returns Foo cast to the Windows type for oruselves, while GetFooOf() takes
+// an argument which should be a pointer or reference to the object of the
+// corresponding class (this depends on the macro)
// ---------------------------------------------------------------------------
#define GetHwnd() ((HWND)GetHWND())
-#define GetWinHwnd(win) ((HWND)((win)->GetHWND()))
+#define GetHwndOf(win) ((HWND)((win)->GetHWND()))
+// old name
+#define GetWinHwnd GetHwndOf
#define GetHdc() ((HDC)GetHDC())
+#define GetHdcOf(dc) ((HDC)(dc).GetHDC())
#define GetHicon() ((HICON)GetHICON())
-#define GetIconHicon(icon) ((HICON)(icon).GetHICON())
+#define GetHiconOf(icon) ((HICON)(icon).GetHICON())
#define GetHaccel() ((HACCEL)GetHACCEL())
-#define GetTableHaccel(table) ((HACCEL)((table).GetHACCEL()))
+#define GetHaccelOf(table) ((HACCEL)((table).GetHACCEL()))
+
+#define GetHmenu() ((HMENU)GetHMenu())
+#define GetHmenuOf(menu) ((HMENU)menu->GetHMenu())
// ---------------------------------------------------------------------------
// global data