проблема с отображением закладок в CTabCtrl
От: AleP Россия  
Дата: 08.01.03 05:40
Оценка:
имеется TabControl с четырьмя закладками, в качестве закладок
диалоги, переключение между ними осуществляется с помощью
void CDocumentDlg::OnSelchangeTabsections(NMHDR* pNMHDR, LRESULT* pResult)
{
int iTab = m_pTabSections->GetCurSel();
TC_ITEM TabItem;
TabItem.mask = TCIF_PARAM;
m_pTabSections->GetItem(iTab, &TabItem);
CWnd* pWnd = (CWnd *)TabItem.lParam;
pWnd->ShowWindow(SW_SHOW);

*pResult = 0;
}
и
void CDocumentDlg::OnSelchangingTabsections(NMHDR* pNMHDR, LRESULT* pResult)
{
int iTab = m_pTabSections->GetCurSel();
TC_ITEM TabItem;
TabItem.mask = TCIF_PARAM;
m_pTabSections->GetItem(iTab, &TabItem);
CWnd* pWnd = (CWnd *)TabItem.lParam;
pWnd->ShowWindow(SW_HIDE);
*pResult = 0;
}
все работает.

по пункту меню должны меняться наименования закладок,
void CDocumentDlg::OnViewChanged(WPARAM wParam, LPARAM lParam)
{
USES_CONVERSION;
TC_ITEM TabItem;
for(int i=0; i<m_pTabSections->GetItemCount(); i++)
{
TabItem.mask = TCIF_PARAM;
m_pTabSections->GetItem(i, &TabItem);
CSection* pWnd = (CSection *)TabItem.lParam;
(pWnd->GetMLGrid())->ChangeView();

TabItem.mask = TCIF_TEXT;
m_pTabSections->GetItem(i, &TabItem);

TabItem.mask = TCIF_TEXT;
if(View == LOGICAL_VIEW)
TabItem.pszText = W2A(pWnd->GetSectionName());
else
TabItem.pszText = W2A(pWnd->GetSectionId());

m_pTabSections->SetItem(i, &TabItem);
}
}
названия меняются, а исчезает диалог текущей закладки, после переключения между закладками диалог появляется.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.