WTL:
a.h:
BEGIN_MSG_MAP_EX(CDlgA)
NOTIFY_HANDLER_EX(IDC_TABCTRL_ID,TCN_SELCHANGE,OnChangeTableHeader)
END_MSG_MAP()
LRESULT OnChangeTableHeader(LPNMHDR pnmh);
a.cpp:
LRESULT CDlgA::OnChangeTableHeader(LPNMHDR pnmh)
{
int nCurSelIndex = m_LoginDlgTab.GetCurSel();
if (-1 == nCurSelIndex)
return 0;
int nIndex = 0;
if (nCurSelIndex == nIndex)
{
if (NULL != pWindow)
pWindow->ShowUI(SW_SHOW);
}
else
{
if (NULL != pWindow)
pWindow->ShowUI(SW_HIDE);
}
return 0;
}
发送消息方式如下:
nmhdr.code=TCN_SELCHANGE;
nmhdr.hwndFrom=m_Tab_Mode.GetSafeHwnd();
nmhdr.idFrom=IDC_TAB_MODE;
::SendMessage(this-> GetSafeHwnd(),WM_NOTIFY,MAKELONG(TCN_SELCHANGE,0),(LPARAM)(&nmhdr));
nmhdr.code = TCN_SELCHANGE;
nmhdr.hwndFrom = m_pTab.GetSafeHwnd();
nmhdr.idFrom= m_pTab.GetDlgCtrlID();
::SendMessage(m_pTab.GetSafeHwnd(), WM_NOTIFY,MAKELONG(TCN_SELCHANGE,0), (LPARAM)(&nmhdr));
nmhdr.hwndFrom= m_TabCtrl.m_hWnd;
nmhdr.idFrom = IDC_TAB1;
nmhdr.code = TCN_SELCHANGE;
SendMessage(WM_NOTIFY ,NULL,(LPARAM) (LPNMHDR) &nmhdr);