X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b2d5a7ee008faae08694abd039f7da235da8bce5..131f9d9b19b6b7943b24601fc813ceaa2c57340e:/include/wx/msw/window.h diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index d15f9a208e..28045117b7 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -86,6 +86,7 @@ public: virtual bool Enable( bool enable = TRUE ); virtual void SetFocus(); + virtual void SetFocusFromKbd(); virtual bool Reparent(wxWindowBase *newParent); @@ -203,6 +204,11 @@ 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; @@ -239,6 +245,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 // @@ -341,7 +350,7 @@ public: bool HandleQueryNewPalette(); bool HandleSysColorChange(); bool HandleDisplayChange(); - + bool HandleCaptureChanged(WXHWND gainedCapture); bool HandleQueryEndSession(long logOff, bool *mayEnd); bool HandleEndSession(bool endSession, long logOff); @@ -418,7 +427,7 @@ 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 int m_xThumbSize; @@ -446,7 +455,7 @@ protected: 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 @@ -455,10 +464,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