added wxEVT_MOUSE_CAPTURE_LOST event and code for correctly handling capture loss (bug #1153662)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2006-07-31 09:27:54 +00:00
parent f9c240ec1e
commit 63e819f298
10 changed files with 184 additions and 11 deletions

View File

@@ -1328,12 +1328,21 @@ protected:
// implements the window variants
virtual void DoSetWindowVariant( wxWindowVariant variant ) ;
// Must be called when mouse capture is lost to send
// wxMouseCaptureLostEvent to windows on capture stack. The argument is
// the window gaining capture or NULL if outside of wx code or none.
static void NotifyCaptureLost(wxWindow *gainedCapture);
private:
// contains the last id generated by NewControlId
static int ms_lastControlId;
// the stack of windows which have captured the mouse
static struct WXDLLEXPORT wxWindowNext *ms_winCaptureNext;
// the window that currently has mouse capture
static wxWindow *ms_winCaptureCurrent;
// indicates if execution is inside CaptureMouse/ReleaseMouse
static bool ms_winCaptureChanging;
DECLARE_ABSTRACT_CLASS(wxWindowBase)
DECLARE_NO_COPY_CLASS(wxWindowBase)