#include <ctype.h>
-#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
+#if !defined(__GNUWIN32__) && !defined(__WXWINE__) && !defined(__SALFORDC__)
#include <direct.h>
#ifndef __MWERKS__
#include <dir.h>
#endif
-#ifdef __WIN32__
+#if defined(__WIN32__) && !defined(__WXWINE__)
#include <io.h>
#ifndef __GNUWIN32__
#endif // wxUSE_RESOURCES
// ---------------------------------------------------------------------------
-// helper functiosn for showing a "busy" cursor
+// helper functions for showing a "busy" cursor
// ---------------------------------------------------------------------------
-extern HCURSOR gs_wxBusyCursor = 0; // new, busy cursor
-static HCURSOR gs_wxBusyCursorOld = 0; // old cursor
+HCURSOR gs_wxBusyCursor = 0; // new, busy cursor
+HCURSOR gs_wxBusyCursorOld = 0; // old cursor
static int gs_wxBusyCursorCount = 0;
// Set the cursor to the busy cursor for all windows
if ((home = getenv("TMP")) != NULL ||
(home = getenv("TMPDIR")) != NULL ||
(home = getenv("TEMP")) != NULL)
- return *home ? home : "\\";
+ return *home ? home : (char*)"\\";
}
if (Stricmp(tmp, WXSTRINGCAST user1) == 0)
user1 = "";
#endif
}
+// ---------------------------------------------------------------------------
+// window information functions
+// ---------------------------------------------------------------------------
+
wxString WXDLLEXPORT wxGetWindowText(WXHWND hWnd)
{
wxString str;
return str;
}
+wxString WXDLLEXPORT wxGetWindowClass(WXHWND hWnd)
+{
+ wxString str;
+
+ int len = 256; // some starting value
+
+ for ( ;; )
+ {
+ // as we've #undefined GetClassName we must now manually choose the
+ // right function to call
+ int count =
+
+ #ifndef __WIN32__
+ GetClassName
+ #else // Win32
+ #ifdef UNICODE
+ GetClassNameW
+ #else // !Unicode
+ #ifdef __TWIN32__
+ GetClassName
+ #else // !Twin32
+ GetClassNameA
+ #endif // Twin32/!Twin32
+ #endif // Unicode/ANSI
+ #endif // Win16/32
+ ((HWND)hWnd, str.GetWriteBuf(len), len);
+
+ str.UngetWriteBuf();
+ if ( count == len )
+ {
+ // the class name might have been truncated, retry with larger
+ // buffer
+ len *= 2;
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ return str;
+}
+
+WXWORD WXDLLEXPORT wxGetWindowId(WXHWND hWnd)
+{
+#ifndef __WIN32__
+ return GetWindowWord((HWND)hWnd, GWW_ID);
+#else // Win32
+ return GetWindowLong((HWND)hWnd, GWL_ID);
+#endif // Win16/32
+}
+
#if 0
//------------------------------------------------------------------------
// wild character routines