/////////////////////////////////////////////////////////////////////////////
-// Name: msw/control.cpp
+// Name: src/msw/control.cpp
// Purpose: wxControl class
// Author: Julian Smart
// Modified by:
// headers
// ----------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "control.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#include "wx/msw/private.h"
#include "wx/msw/uxtheme.h"
-#if defined(__WIN95__) && !(defined(__GNUWIN32_OLD__) && !defined(__CYGWIN10__))
- #include <commctrl.h>
-#endif
+// include <commctrl.h> "properly"
+#include "wx/msw/wrapcctl.h"
// ----------------------------------------------------------------------------
// wxWin macros
// ... and adjust it to account for a possible parent frames toolbar
AdjustForParentClientOrigin(x, y);
- // notice the apparently unnecessary label.empty() test: without it wse get
- // crashes when creating controls (notebook to be precise) with empty
- // labels as for some reason Windows looks not only at first but also at
- // the second byte of the string which is not NUL in the buffer pointed to
- // by label.c_str() and if the buffer contains "00 cc cc cc ..." (this is
- // what happens in debug build where 0xcc is used as uninitialized memory
- // marker) it creates a window not with empty label but with label
- // consisting of many Unicode (!) 0xcccc characters
- //
- // this is not fatal in itself, but becomes so when wxGetWindowText() is
- // called because GetWindowTextA() overwrites ASCII buffer with Unicode (!)
- // characters without any qualms and so crashes the program...
m_hWnd = (WXHWND)::CreateWindowEx
(
exstyle, // extended style
classname, // the kind of control to create
- label.empty() // the window name
- ? _T("\0")
- : label.c_str(),
+ label, // the window name
style, // the window style
x, y, w, h, // the window position and size
GetHwndOf(GetParent()), // parent
return GetEventHandler()->ProcessEvent(event);
}
-#ifdef __WIN95__
bool wxControl::MSWOnNotify(int idCtrl,
WXLPARAM lParam,
WXLPARAM* result)
return GetEventHandler()->ProcessEvent(event);
}
-#endif // Win95
WXHBRUSH wxControl::DoMSWControlColor(WXHDC pDC, wxColour colBg, WXHWND hWnd)
{