Notebook, Listbox, and Checklst updates

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16951 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2002-09-03 04:47:39 +00:00
parent a85030bd90
commit 1de4baa31f
9 changed files with 757 additions and 361 deletions

View File

@@ -679,8 +679,20 @@ void wxNotebook::OnSize(
wxSizeEvent& rEvent
)
{
if (m_nSelection < m_pages.Count() && m_nSelection >= 0)
m_pages[m_nSelection]->Refresh();
int nPage;
int nCount = (int)m_pages.Count();
for (nPage = 0; nPage < nCount; nPage++)
{
if (m_nSelection == nPage)
m_pages[nPage]->Refresh();
else
::WinSetWindowPos(m_pages[nPage]->GetHWND()
,NULLHANDLE
,0,0,0,0
,SWP_HIDE
);
}
rEvent.Skip();
} // end of wxNotebook::OnSize
@@ -693,22 +705,44 @@ void wxNotebook::OnSelChange (
//
if (rEvent.GetEventObject() == this)
{
int nSel = rEvent.GetOldSelection();
int nPageCount = GetPageCount();
int nSel;
ULONG ulOS2Sel = (ULONG)rEvent.GetOldSelection();
bool bFound = FALSE;
if (nSel != -1)
for (nSel = 0; nSel < nPageCount; nSel++)
{
m_pages[nSel]->Show(FALSE);
m_pages[nSel]->SetActivePage(FALSE);
if (ulOS2Sel == m_alPageId[nSel])
{
bFound = TRUE;
break;
}
}
nSel = rEvent.GetSelection();
if (nSel != -1)
{
wxNotebookPage* pPage = m_pages[nSel];
pPage->Show(TRUE);
pPage->SetFocus();
m_pages[nSel]->SetActivePage(TRUE);
if (!bFound)
return;
m_pages[nSel]->Show(FALSE);
ulOS2Sel = (ULONG)rEvent.GetSelection();
bFound = FALSE;
for (nSel = 0; nSel < nPageCount; nSel++)
{
if (ulOS2Sel == m_alPageId[nSel])
{
bFound = TRUE;
break;
}
}
if (!bFound)
return;
wxNotebookPage* pPage = m_pages[nSel];
pPage->Show(TRUE);
m_nSelection = nSel;
}