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 (WXHWND)::GetDesktopWindow();
}
+bool wxPopupWindow::Show(bool show)
+{
+ if ( !wxWindowBase::Show(show) )
+ return FALSE;
+
+ HWND hWnd = GetHwnd();
+ int cshow = show ? SW_SHOW : SW_HIDE;
+ ::ShowWindow(hWnd, cshow);
+
+ if ( show )
+ {
+ // raise to top of z order
+ if (!::SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE))
+ {
+ wxLogLastError(_T("SetWindowPos"));
+ }
+ }
+
+ return TRUE;
+}
+
#endif // #if wxUSE_POPUPWIN
+