+ void PushEventHandler(wxEvtHandler* handler);
+
+ /**
+ Find the given @a handler in the windows event handler stack and
+ removes (but does not delete) it from the stack.
+
+ See wxEvtHandler::Unlink() for more info.
+
+ @param handler
+ The event handler to remove, must be non-@NULL and
+ must be present in this windows event handlers stack.
+
+ @return Returns @true if it was found and @false otherwise (this also
+ results in an assert failure so this function should
+ only be called when the handler is supposed to be there).
+
+ @see PushEventHandler(), PopEventHandler()
+ */
+ bool RemoveEventHandler(wxEvtHandler* handler);
+
+ /**
+ Sets the event handler for this window.
+
+ Note that if you use this function you may want to use as the "next" handler
+ of @a handler the window itself; in this way when @a handler doesn't process
+ an event, the window itself will have a chance to do it.
+
+ @param handler
+ Specifies the handler to be set. Cannot be @NULL.
+
+ @see @ref overview_events_processing
+ */
+ void SetEventHandler(wxEvtHandler* handler);
+
+ /**
+ wxWindows cannot be used to form event handler chains; this function
+ thus will assert when called.
+
+ Note that instead you can use PushEventHandler() or SetEventHandler() to
+ implement a stack of event handlers to override wxWindow's own
+ event handling mechanism.
+ */
+ virtual void SetNextHandler(wxEvtHandler* handler);
+
+ /**
+ wxWindows cannot be used to form event handler chains; this function
+ thus will assert when called.
+
+ Note that instead you can use PushEventHandler() or SetEventHandler() to
+ implement a stack of event handlers to override wxWindow's own
+ event handling mechanism.
+ */
+ virtual void SetPreviousHandler(wxEvtHandler* handler);
+
+ //@}
+
+
+
+ /**
+ @name Window styles functions
+ */
+ //@{
+
+ /**
+ Returns the extra style bits for the window.
+ */
+ long GetExtraStyle() const;
+
+ /**
+ Gets the window style that was passed to the constructor or Create()
+ method. GetWindowStyle() is another name for the same function.
+ */
+ virtual long GetWindowStyleFlag() const;
+
+ /**
+ See GetWindowStyleFlag() for more info.
+ */
+ long GetWindowStyle() const;
+
+ /**
+ Returns @true if the window has the given @a exFlag bit set in its
+ extra styles.
+
+ @see SetExtraStyle()
+ */
+ bool HasExtraStyle(int exFlag) const;
+
+ /**
+ Returns @true if the window has the given @a flag bit set.
+ */
+ bool HasFlag(int flag) const;
+
+ /**
+ Sets the extra style bits for the window.
+ The currently defined extra style bits are reported in the class
+ description.
+ */
+ virtual void SetExtraStyle(long exStyle);
+
+ /**
+ Sets the style of the window. Please note that some styles cannot be changed
+ after the window creation and that Refresh() might need to be be called
+ after changing the others for the change to take place immediately.
+
+ See @ref overview_windowstyles "Window styles" for more information about flags.
+
+ @see GetWindowStyleFlag()
+ */
+ virtual void SetWindowStyleFlag(long style);
+
+ /**
+ See SetWindowStyleFlag() for more info.
+ */
+ void SetWindowStyle(long style);
+
+ /**
+ Turns the given @a flag on if it's currently turned off and vice versa.
+ This function cannot be used if the value of the flag is 0 (which is often
+ the case for default flags).
+
+ Also, please notice that not all styles can be changed after the control
+ creation.
+
+ @return Returns @true if the style was turned on by this function, @false
+ if it was switched off.
+
+ @see SetWindowStyleFlag(), HasFlag()
+ */
+ bool ToggleWindowStyle(int flag);
+
+ //@}
+
+
+ /**
+ @name Tab order functions
+ */
+ //@{