X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b225f65995e9eccefe9b502568b1b8e40629cd1a..e5ee4c908b9dbcf07f0441aa74d8635b7343be4d:/include/wx/msw/window.h diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index 4e9bc75585..feccccf607 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -28,6 +28,13 @@ // a better solution should be found later... #define wxUSE_MOUSEEVENT_HACK 0 +#include "wx/hash.h" + +// pseudo-template HWND <-> wxWindow hash table +WX_DECLARE_HASH(wxWindow, wxWindowList, wxWinHashTable); + +extern wxWinHashTable *wxWinHandleHash; + // --------------------------------------------------------------------------- // constants // --------------------------------------------------------------------------- @@ -83,8 +90,6 @@ public: virtual bool Reparent(wxWindowBase *newParent); virtual void WarpPointer(int x, int y); - virtual void CaptureMouse(); - virtual void ReleaseMouse(); virtual void Refresh( bool eraseBackground = TRUE, const wxRect *rect = (const wxRect *) NULL ); @@ -188,7 +193,6 @@ FUNCTION IS NOW A MEMBER OF wxFrame - gt // event handlers // -------------- - void OnSetFocus(wxFocusEvent& event); void OnEraseBackground(wxEraseEvent& event); void OnIdle(wxIdleEvent& event); void OnPaint(wxPaintEvent& event); @@ -327,6 +331,8 @@ public: bool HandlePaletteChanged(WXHWND hWndPalChange); bool HandleQueryNewPalette(); bool HandleSysColorChange(); + bool HandleDisplayChange(); + bool HandleQueryEndSession(long logOff, bool *mayEnd); bool HandleEndSession(bool endSession, long logOff); @@ -369,9 +375,6 @@ public: // called when the window is about to be destroyed virtual void MSWDestroyWindow(); - // Detach "Window" menu from menu bar so it doesn't get deleted - void MSWDetachWindowMenu(); - // this function should return the brush to paint the window background // with or 0 for the default brush virtual WXHBRUSH OnCtlColor(WXHDC hDC, @@ -421,9 +424,6 @@ protected: WXHMENU m_hMenu; // Menu, if any - // the return value of WM_GETDLGCODE handler - long m_lDlgCode; - // implement the base class pure virtuals virtual void DoClientToScreen( int *x, int *y ) const; virtual void DoScreenToClient( int *x, int *y ) const; @@ -435,6 +435,9 @@ protected: int sizeFlags = wxSIZE_AUTO); virtual void DoSetClientSize(int width, int height); + virtual void DoCaptureMouse(); + virtual void DoReleaseMouse(); + // 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