// wxPopupWindow
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxPopupWindow : public wxPopupWindowBase
+class WXDLLIMPEXP_CORE wxPopupWindow : public wxPopupWindowBase
{
public:
wxPopupWindow() { }
wxPopupWindow(wxWindow *parent, int flags = wxBORDER_NONE)
{ (void)Create(parent, flags); }
- bool Create(wxWindow *parent, int flags = wxBORDER_NONE)
- {
- return wxPopupWindowBase::Create(parent) &&
- wxWindow::Create(parent, -1,
- wxDefaultPosition, wxDefaultSize,
- (flags & wxBORDER_MASK) | wxPOPUP_WINDOW);
- }
+ bool Create(wxWindow *parent, int flags = wxBORDER_NONE);
+
+ virtual bool Show(bool show = true);
+
+ // 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;
+
+protected:
+ // popups handle the position like wxTopLevelWindow, not wxWindow
+ virtual void DoGetPosition(int *x, int *y) const;
+
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxPopupWindow)
};
#endif // _WX_MSW_POPUPWIN_H_