WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
protected:
+ virtual void DoMoveWindow(int x, int y, int width, int height);
virtual void DoSetItemClientData( int n, void* clientData );
virtual void* DoGetItemClientData( int n ) const;
virtual void DoSetItemClientObject( int n, wxClientData* clientData );
WXHWND GetEditHWND() const;
protected:
- virtual void DoMoveWindow(int x, int y, int width, int height);
virtual wxSize DoGetBestSize() const;
};
WXDLLEXPORT size_t wxStrftime(wxChar *s, size_t max, const wxChar *fmt, const struct tm *tm);
#endif
+// under VC++ 6.0 isspace() returns 1 for 8 bit chars which completely breaks
+// the file parsing - this may be true for 5.0 as well, update #ifdef then
+#if defined(__VISUALC__) && (__VISUALC__ >= 1200) && !wxUSE_UNICODE
+ #undef wxIsspace
+ #define wxIsspace(c) ((((unsigned)c) < 128) && isspace(c))
+#endif // VC++
+
// ----------------------------------------------------------------------------
// common macros which are always defined
// ----------------------------------------------------------------------------
#include "wx/msw/private.h"
- IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl)
// ============================================================================
// implementation
// wxMSW specific helpers
// ----------------------------------------------------------------------------
+void wxChoice::DoMoveWindow(int x, int y, int width, int height)
+{
+ // here is why this is necessary: if the width is negative, the combobox
+ // window proc makes the window of the size width*height instead of
+ // interpreting height in the usual manner (meaning the height of the drop
+ // down list - usually the height specified in the call to MoveWindow()
+ // will not change the height of combo box per se)
+ //
+ // this behaviour is not documented anywhere, but this is just how it is
+ // here (NT 4.4) and, anyhow, the check shouldn't hurt - however without
+ // the check, constraints/sizers using combos may break the height
+ // constraint will have not at all the same value as expected
+ if ( width < 0 )
+ return;
+
+ wxControl::DoMoveWindow(x, y, width, height);
+}
+
void wxChoice::DoSetSize(int x, int y,
int width, int WXUNUSED(height),
int sizeFlags)
}
}
-void wxComboBox::DoMoveWindow(int x, int y, int width, int height)
-{
- // here is why this is necessary: if the width is negative, the combobox
- // window proc makes the window of the size width*height instead of
- // interpreting height in the usual manner (meaning the height of the drop
- // down list - usually the height specified in the call to MoveWindow()
- // will not change the height of combo box per se)
- //
- // this behaviour is not documented anywhere, but this is just how it is
- // here (NT 4.4) and, anyhow, the check shouldn't hurt - however without
- // the check, constraints/sizers using combos may break the height
- // constraint will have not at all the same value as expected
- if ( width < 0 )
- return;
-
- int cx, cy;
- wxGetCharSize(GetHWND(), &cx, &cy, &GetFont());
-
- // what should the height of the drop down list be? we choose 10 items by
- // default and also 10 items max (if we always use n, the list will never
- // have vertical scrollbar)
- int n = GetCount();
- if ( !n || (n > 10) )
- n = 10;
-
- height = (n + 1)* EDIT_HEIGHT_FROM_CHAR_HEIGHT(cy);
-
- wxControl::DoMoveWindow(x, y, width, height);
-}
-
wxSize wxComboBox::DoGetBestSize() const
{
// the choice calculates the horz size correctly, but not the vertical