]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/popupwin.h
added MSWPrintChild() for drawing child background (replaces patch 1108389)
[wxWidgets.git] / include / wx / msw / popupwin.h
index 616b22679df22b5e901962aaf029d7b39da95c2a..53d6e0e37df51b7ab9e9078250cd74dff9fc9950 100644 (file)
 #ifndef _WX_MSW_POPUPWIN_H_
 #define _WX_MSW_POPUPWIN_H_
 
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
+    #pragma interface "popup.h"
+#endif
+
 // ----------------------------------------------------------------------------
 // wxPopupWindow
 // ----------------------------------------------------------------------------
@@ -21,15 +25,24 @@ class WXDLLEXPORT wxPopupWindow : public wxPopupWindowBase
 public:
     wxPopupWindow() { }
 
-    wxPopupWindow(wxWindow *parent) { (void)Create(parent); }
+    wxPopupWindow(wxWindow *parent, int flags = wxBORDER_NONE)
+        { (void)Create(parent, flags); }
+
+    bool Create(wxWindow *parent, int flags = wxBORDER_NONE);
+
+    virtual bool Show(bool show = true);
+
+protected:
+    // popups handle the position like wxTopLevelWindow, not wxWindow
+    virtual void DoGetPosition(int *x, int *y) const;
+
+    // return the style to be used for the popup windows
+    virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle) const;
+
+    // get the HWND to be used as parent of this window with CreateWindow()
+    virtual WXHWND MSWGetParent() const;
 
-    bool Create(wxWindow *parent, int flags = wxBORDER_NONE)
-    {
-        return wxPopupWindowBase::Create(parent) &&
-               wxWindow::Create(parent, -1,
-                                wxDefaultPosition, wxDefaultSize,
-                                (flags & wxBORDER_MASK) | wxPOPUP_WINDOW);
-    }
+    DECLARE_DYNAMIC_CLASS_NO_COPY(wxPopupWindow)
 };
 
 #endif // _WX_MSW_POPUPWIN_H_