Скачал из интернета класс CXPTabCtrl. У всех контролов background отображается в XP как надо. НО не могу обрабатывать изменение закладок. В диалоге на котором расположен Tab сообщения
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB,OnSelchangeTab) не обрабатываются(функция не получает управления).
В самом CXPTabCtrl есть 2 функции, может в них дело:
ON_NOTIFY_REFLECT(TCN_SELCHANGING,OnTabSelChanging)
ON_NOTIFY_REFLECT(TCN_SELCHANGE, OnTabSelChanged)
// these two messages are necessary only to properly redraw deselected tab background, because
void CXPTabCtrl::OnTabSelChanging(NMHDR* pNMHDR, LRESULT* pResult) // selected rect was inflated by 2 points
{
UNUSED_ALWAYS(pNMHDR);
m_ixSelOld=GetCurSel();
*pResult=0L;
}
//----------------------------------------------------------------------------------------------------------
void CXPTabCtrl::OnTabSelChanged(NMHDR* pNMHDR, LRESULT* pResult)
{
UNUSED_ALWAYS(pNMHDR);
if(m_ixSelOld>=0 && m_ixSelOld!=GetCurSel() && IsExtendedTabTheamedXP()) // else
{ CWnd* pWndParent=GetParent();
if(pWndParent)
{ CRect rcOldSel; GetItemRect(m_ixSelOld, rcOldSel); rcOldSel.InflateRect(2,2);
ClientToScreen(&rcOldSel); pWndParent->ScreenToClient(&rcOldSel);
pWndParent->InvalidateRect(rcOldSel);
} }
*pResult=1L;
}
Помогите please
Метки созданы для того, чтобы посылать программу в одно определенное место.