]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/window.h
MinGW compilation fixes.
[wxWidgets.git] / include / wx / msw / window.h
index a43525a245d902c7e2d4ea6420da002adac23ec8..615e9f03f92802e652a3015a449708ff2a5414e1 100644 (file)
@@ -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()