#include <windows.h>
+
+#if defined (__WXWINCE__)
+ #include <wingdi.h> // RGB, COLORREF
+ #include <winuser.h> // Global Namespaces ::GetKeyState, ::GetWindowRect
+#endif
+
+
#ifdef __WXMICROWIN__
// Extra prototypes and symbols not defined by MicroWindows
#include "wx/msw/microwin.h"
// this defines a CASTWNDPROC macro which casts a pointer to the type of a
// window proc
-#if defined(STRICT) || defined(__GNUC__)
+#if defined(__WXWINCE__)
+ typedef FARPROC WndProcCast;
+#elif defined(STRICT) || defined(__GNUC__)
typedef WNDPROC WndProcCast;
#else
typedef FARPROC WndProcCast;
#endif
+
#define CASTWNDPROC (WndProcCast)
// ---------------------------------------------------------------------------
#if wxUSE_GUI
#include <wx/gdicmn.h>
+#include <wx/colour.h>
// make conversion from wxColour and COLORREF a bit less painful
inline COLORREF wxColourToRGB(const wxColour& c)
private:
HDC m_hdc;
+
+ DECLARE_NO_COPY_CLASS(ScreenHDC)
};
// the same as ScreenHDC but for memory DCs: creates the HDC in ctor and
{
public:
MemoryHDC() { m_hdc = ::CreateCompatibleDC(NULL); }
- ~MemoryHDC() { ::DeleteObject(m_hdc); }
+ ~MemoryHDC() { ::DeleteDC(m_hdc); }
operator HDC() const { return m_hdc; }
private:
HDC m_hdc;
+
+ DECLARE_NO_COPY_CLASS(MemoryHDC)
};
// a class which selects a GDI object into a DC in its ctor and deselects in
private:
HDC m_hdc;
HGDIOBJ m_hgdiobj;
+
+ DECLARE_NO_COPY_CLASS(SelectInHDC)
};
// ---------------------------------------------------------------------------
extern HCURSOR wxGetCurrentBusyCursor(); // from msw/utils.cpp
extern const wxCursor *wxGetGlobalCursor(); // from msw/cursor.cpp
-WXDLLEXPORT wxWindow* wxFindWinFromHandle(WXHWND hWnd);
-
WXDLLEXPORT void wxGetCharSize(WXHWND wnd, int *x, int *y, const wxFont *the_font);
WXDLLEXPORT void wxFillLogFont(LOGFONT *logFont, const wxFont *font);
WXDLLEXPORT wxFont wxCreateFontFromLogFont(const LOGFONT *logFont);
// Find maximum size of window/rectangle
WXDLLEXPORT extern void wxFindMaxSize(WXHWND hwnd, RECT *rect);
-WXDLLEXPORT wxWindow* wxFindControlFromHandle(WXHWND hWnd);
-WXDLLEXPORT void wxAddControlHandle(WXHWND hWnd, wxWindow *item);
-
// Safely get the window text (i.e. without using fixed size buffer)
WXDLLEXPORT extern wxString wxGetWindowText(WXHWND hWnd);
// is, for mainly historical reasons, signed)
WXDLLEXPORT extern WXWORD wxGetWindowId(WXHWND hWnd);
-// check if hWnd's WNDPROC is wndProc. Return true if yes, false if they are different
-extern bool wxCheckWindowWndProc(WXHWND hWnd, WXFARPROC wndProc);
+// check if hWnd's WNDPROC is wndProc. Return true if yes, false if they are
+// different
+WXDLLEXPORT extern bool wxCheckWindowWndProc(WXHWND hWnd, WXFARPROC wndProc);
// Does this window style specify any border?
inline bool wxStyleHasBorder(long style)
wxSUNKEN_BORDER | wxDOUBLE_BORDER)) != 0;
}
-// find the window for HWND which is part of some wxWindow, returns just the
-// corresponding wxWindow for HWND which just is one
+// ----------------------------------------------------------------------------
+// functions mapping HWND to wxWindow
+// ----------------------------------------------------------------------------
+
+// this function simply checks whether the given hWnd corresponds to a wxWindow
+// and returns either that window if it does or NULL otherwise
+WXDLLEXPORT extern wxWindow* wxFindWinFromHandle(WXHWND hWnd);
+
+// find the window for HWND which is part of some wxWindow, i.e. unlike
+// wxFindWinFromHandle() above it will also work for "sub controls" of a
+// wxWindow.
//
-// may return NULL
-extern wxWindow *wxGetWindowFromHWND(WXHWND hwnd);
+// returns the wxWindow corresponding to the given HWND or NULL.
+WXDLLEXPORT extern wxWindow *wxGetWindowFromHWND(WXHWND hwnd);
+
+
+// Get the size of an icon
+WXDLLEXPORT extern wxSize wxGetHiconSize(HICON hicon);
#endif // wxUSE_GUI