X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/68304caffec13015b139c1d567733f14862ae2bd..75f7af39d12e17eecf807ca65bffd19adce581ca:/include/wx/msw/window.h?ds=sidebyside diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index a43525a245..615e9f03f9 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -6,7 +6,7 @@ // elimination of Default(), ... // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem +// Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -86,6 +86,7 @@ public: virtual bool Enable( bool enable = TRUE ); virtual void SetFocus(); + virtual void SetFocusFromKbd(); virtual bool Reparent(wxWindowBase *newParent); @@ -203,16 +204,14 @@ public: WXFARPROC MSWGetOldWndProc() const { return m_oldWndProc; } void MSWSetOldWndProc(WXFARPROC proc) { m_oldWndProc = proc; } + // return TRUE if the window is of a standard (i.e. not wxWindows') class + // + // to understand why does it work, look at SubclassWin() code and comments + bool IsOfStandardClass() const { return m_oldWndProc != NULL; } + wxWindow *FindItem(long id) const; wxWindow *FindItemByHWND(WXHWND hWnd, bool controlOnly = FALSE) const; - // Make a Windows extended style from the given wxWindows window style - static WXDWORD MakeExtendedStyle(long style, - bool eliminateBorders = FALSE); - - // Determine whether 3D effects are wanted - WXDWORD Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D) const; - // MSW only: TRUE if this control is part of the main control virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return FALSE; }; @@ -221,7 +220,7 @@ public: // // this is the function that should be overridden in the derived classes, // but you will mostly use MSWGetCreateWindowFlags() below - virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const; + virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const ; // get the MSW window flags corresponding to wxWindows ones // @@ -239,6 +238,9 @@ public: int& x, int& y, int& w, int& h) const; + // get the HWND to be used as parent of this window with CreateWindow() + virtual WXHWND MSWGetParent() const; + // creates the window of specified Windows class with given style, extended // style, title and geometry (default values // @@ -321,6 +323,7 @@ public: bool HandleMinimize(); bool HandleMaximize(); bool HandleSize(int x, int y, WXUINT flag); + bool HandleSizing(wxRect& rect); bool HandleGetMinMaxInfo(void *mmInfo); bool HandleShow(bool show, int status); @@ -341,7 +344,7 @@ public: bool HandleQueryNewPalette(); bool HandleSysColorChange(); bool HandleDisplayChange(); - + bool HandleCaptureChanged(WXHWND gainedCapture); bool HandleQueryEndSession(long logOff, bool *mayEnd); bool HandleEndSession(bool endSession, long logOff); @@ -358,6 +361,9 @@ public: bool HandleChar(WXWPARAM wParam, WXLPARAM lParam, bool isASCII = FALSE); bool HandleKeyDown(WXWPARAM wParam, WXLPARAM lParam); bool HandleKeyUp(WXWPARAM wParam, WXLPARAM lParam); +#ifdef __WIN32__ + int HandleMenuChar(int chAccel, WXLPARAM lParam); +#endif bool HandleQueryDragIcon(WXHICON *hIcon); @@ -418,7 +424,6 @@ protected: bool m_useCtl3D:1; // Using CTL3D for this control bool m_backgroundTransparent:1; bool m_mouseInWindow:1; - bool m_doubleClickAllowed:1; bool m_lastKeydownProcessed:1; // the size of one page for scrolling @@ -456,10 +461,17 @@ protected: #if wxUSE_TOOLTIPS virtual void DoSetToolTip( wxToolTip *tip ); + + // process TTN_NEEDTEXT message properly (i.e. fixing the bugs in + // comctl32.dll in our code -- see the function body for more info) + bool HandleTooltipNotify(WXUINT code, + WXLPARAM lParam, + const wxString& ttip); #endif // wxUSE_TOOLTIPS // the helper functions used by HandleChar/KeyXXX methods - wxKeyEvent CreateKeyEvent(wxEventType evType, int id, WXLPARAM lp) const; + wxKeyEvent CreateKeyEvent(wxEventType evType, int id, + WXLPARAM lParam = 0, WXWPARAM wParam = 0) const; private: // common part of all ctors @@ -467,12 +479,16 @@ private: // the (non-virtual) handlers for the events bool HandleMove(int x, int y); + bool HandleMoving(wxRect& rect); bool HandleJoystickEvent(WXUINT msg, int x, int y, WXUINT flags); #ifdef __WIN95__ bool HandleNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result); #endif // __WIN95__ + // list of disabled children before last call to our Disable() + wxWindowList *m_childrenDisabled; + DECLARE_DYNAMIC_CLASS(wxWindowMSW) DECLARE_NO_COPY_CLASS(wxWindowMSW) DECLARE_EVENT_TABLE()