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)
{
wxDefaultPosition, wxDefaultSize,
(flags & wxBORDER_MASK) | wxPOPUP_WINDOW);
}
+
+protected:
+ virtual void DoGetPosition(int *x, int *y) const
+ {
+ // the position of a "top level" window such as this should be in
+ // screen coordinates, not in the client ones which MSW gives us
+ // (because we are a child window)
+ wxPopupWindowBase::DoGetPosition(x, y);
+
+ GetParent()->ClientToScreen(x, y);
+ }
+
+ DECLARE_DYNAMIC_CLASS(wxPopupWindow)
};
#endif // _WX_MSW_POPUPWIN_H_