// ---------------------------------------------------------------------------
// wxWindow declaration for MSW
// ---------------------------------------------------------------------------
+
class WXDLLEXPORT wxWindow : public wxWindowBase
{
- DECLARE_DYNAMIC_CLASS(wxWindow);
-
public:
wxWindow() { Init(); }
wxWindow* GetWindowChild1(wxWindowID id);
wxWindow* GetWindowChild(wxWindowID id);
+ // a MSW only function which sends a size event to the window using its
+ // current size - this has an effect of refreshing the window layout
+ void SendSizeEvent();
+
// implementation from now on
// --------------------------
// event handlers
// --------------
+
+ void OnSetFocus(wxFocusEvent& event);
void OnEraseBackground(wxEraseEvent& event);
void OnIdle(wxIdleEvent& event);
+ void OnPaint(wxPaintEvent& event);
public:
// For implementation purposes - sometimes decorations make the client area
// Make a Windows extended style from the given wxWindows window style
static WXDWORD MakeExtendedStyle(long style,
- bool eliminateBorders = TRUE);
+ bool eliminateBorders = FALSE);
// Determine whether 3D effects are wanted
WXDWORD Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D) const;
int sizeFlags = wxSIZE_AUTO);
virtual void DoSetClientSize(int width, int height);
- // get the size which best suits the window: e.g., for a static text it
- // will be the width and height of the text
- virtual wxSize DoGetBestSize();
+ // move the window to the specified location and resize it: this is called
+ // from both DoSetSize() and DoSetClientSize() and would usually just call
+ // ::MoveWindow() except for composite controls which will want to arrange
+ // themselves inside the given rectangle
+ virtual void DoMoveWindow(int x, int y, int width, int height);
#if wxUSE_TOOLTIPS
virtual void DoSetToolTip( wxToolTip *tip );
bool HandleNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
#endif // __WIN95__
+ // the helper functions used by HandleChar/KeyXXX methods
+ wxKeyEvent CreateKeyEvent(wxEventType evType, int id, WXLPARAM lp) const;
+
+ DECLARE_DYNAMIC_CLASS(wxWindow);
DECLARE_NO_COPY_CLASS(wxWindow);
DECLARE_EVENT_TABLE()
};