X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/289b295104fe9126962c1fa26ceae0de5cbfe80b..bc55104d9ab0b0b835644f17a152b4fbbfa8c7b9:/include/wx/os2/window.h?ds=inline diff --git a/include/wx/os2/window.h b/include/wx/os2/window.h index ab85057660..bffba1d0b3 100644 --- a/include/wx/os2/window.h +++ b/include/wx/os2/window.h @@ -99,8 +99,6 @@ public: virtual void WarpPointer( int x ,int y ); - virtual void CaptureMouse(void); - virtual void ReleaseMouse(void); virtual void Refresh( bool bEraseBackground = TRUE ,const wxRect* pRect = (const wxRect *)NULL ); @@ -108,6 +106,7 @@ public: virtual void Freeze(void); virtual void Update(void); virtual void Thaw(void); + virtual void SetWindowStyleFlag(long lStyle); virtual bool SetCursor(const wxCursor& rCursor); virtual bool SetFont(const wxFont& rFont); virtual int GetCharHeight(void) const; @@ -144,6 +143,8 @@ public: ,const wxRect* pRect = (wxRect *)NULL ); + inline HWND GetScrollBarHorz(void) const {return m_hWndScrollBarHorz;} + inline HWND GetScrollBarVert(void) const {return m_hWndScrollBarVert;}; #if wxUSE_DRAG_AND_DROP virtual void SetDropTarget(wxDropTarget* pDropTarget); #endif // wxUSE_DRAG_AND_DROP @@ -253,6 +254,23 @@ public: // PM only: TRUE if this control is part of the main control virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return FALSE; }; + // translate wxWindows style flags for this control into the PM style + // and optional extended style for the corresponding native control + // + // this is the function that should be overridden in the derived classes, + // but you will mostly use OS2GetCreateWindowFlags() below + virtual WXDWORD OS2GetStyle( long lFlags + ,WXDWORD* pdwExstyle = NULL + ) const; + + // get the MSW window flags corresponding to wxWindows ones + // + // the functions returns the flags (WS_XXX) directly and puts the ext + // (WS_EX_XXX) flags into the provided pointer if not NULL + WXDWORD OS2GetCreateWindowFlags(WXDWORD* pdwExflags = NULL) const + { return OS2GetStyle(GetWindowStyle(), pdwExflags); } + + // returns TRUE if the window has been created bool OS2Create( PSZ zClass ,const char* zTitle @@ -423,6 +441,7 @@ public: ,WXLPARAM lParam ); virtual bool OS2ProcessMessage(WXMSG* pMsg); + virtual bool OS2ShouldPreProcessMessage(WXMSG* pMsg); virtual bool OS2TranslateMessage(WXMSG* pMsg); virtual void OS2DestroyWindow(void); @@ -452,6 +471,7 @@ public: ); void MoveChildren(int nDiff); + PSWP GetSwp(void) {return &m_vWinSwp;} protected: // PM can't create some MSW styles natively but can perform these after @@ -522,6 +542,9 @@ protected: ,int nHeight ); + virtual void DoCaptureMouse(void); + virtual void DoReleaseMouse(void); + // move the window to the specified location and resize it: this is called // from both DoSetSize() and DoSetClientSize() and would usually just call // ::WinSetWindowPos() except for composite controls which will want to arrange @@ -559,12 +582,15 @@ private: // the helper functions used by HandleChar/KeyXXX methods wxKeyEvent CreateKeyEvent(wxEventType evType, int id, WXLPARAM lp) const; + DECLARE_DYNAMIC_CLASS(wxWindowOS2); DECLARE_NO_COPY_CLASS(wxWindowOS2) DECLARE_EVENT_TABLE() + private: HWND m_hWndScrollBarHorz; HWND m_hWndScrollBarVert; + SWP m_vWinSwp; // Virtual function hiding supression inline virtual bool Reparent(wxWindowBase* pNewParent)