Catching up for the week

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15703 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2002-05-28 21:50:34 +00:00
parent d30ff492f0
commit 6ed98c6a3b
8 changed files with 262 additions and 136 deletions

View File

@@ -57,6 +57,7 @@ extern void wxAssociateWinWithHandle( HWND hWnd
,wxWindowOS2* pWin
);
bool wxTopLevelWindowOS2::m_sbInitialized = FALSE;
wxWindow* wxTopLevelWindowOS2::m_spHiddenParent = NULL;
// ============================================================================
// wxTopLevelWindowMSW implementation
@@ -166,6 +167,46 @@ WXDWORD wxTopLevelWindowOS2::OS2GetStyle(
return lMsflags;
} // end of wxTopLevelWindowOS2::OS2GetCreateWindowFlags
WXHWND wxTopLevelWindowOS2::OS2GetParent() const
{
//
// For the frames without wxFRAME_FLOAT_ON_PARENT style we should use NULL
// parent HWND or it would be always on top of its parent which is not what
// we usually want (in fact, we only want it for frames with the
// wxFRAME_FLOAT_ON_PARENT flag)
//
wxWindow* pParent;
if (HasFlag(wxFRAME_FLOAT_ON_PARENT) )
{
pParent = GetParent();
// this flag doesn't make sense then and will be ignored
wxASSERT_MSG( pParent,
_T("wxFRAME_FLOAT_ON_PARENT but no parent?") );
}
else // don't float on parent, must not be owned
{
pParent = NULL;
}
if (HasFlag(wxFRAME_NO_TASKBAR) && !pParent)
{
if (!m_spHiddenParent)
{
m_spHiddenParent = new wxTopLevelWindowOS2(NULL, -1, _T(""));
//
// We shouldn't leave it in wxTopLevelWindows or we wouldn't
// terminate the app when the last user-created frame is deleted --
// see ~wxTopLevelWindowMSW
//
wxTopLevelWindows.DeleteObject(m_spHiddenParent);
}
pParent = m_spHiddenParent;
}
return pParent ? pParent->GetHWND() : NULL;
} // end of wxTopLevelWindowOS2::OS2GetParent
bool wxTopLevelWindowOS2::CreateDialog(
ULONG ulDlgTemplate
, const wxString& rsTitle