写标签式对话框方法之一:
1 画一无属性窗体,拖上控件,并创建类
2 新建自定义窗体的对象和Table Control的对象
3 添加Table Control对象的消息:TCN_SELCHANGE, TCN_SELCHANGING
void MyClassName::OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult)
{
TC_ITEM ti;
CWnd* cDlg;
int result;
int sel = m_Tab.GetCurSel();
ti.mask = TCIF_PARAM | TCIF_IMAGE;
result = m_Tab.GetItem( sel, &ti );
cDlg = (CWnd *) ti.lParam;
if (cDlg)
{
cDlg->ShowWindow(true);
}
else;
ti.mask = TCIF_IMAGE;
ti.iImage += 1;
m_Tab.SetItem( sel, &ti );
*pResult = 0;
}
void MyClassName::OnSelchangingTab(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
TC_ITEM ti;
CWnd* cDlg;
int result;
int sel = m_Tab.GetCurSel();
ti.mask = TCIF_PARAM | TCIF_IMAGE;
result = m_Tab.GetItem( sel, &ti );
cDlg = (CWnd *) ti.lParam;
if (cDlg)
{
cDlg->ShowWindow (false);
}
else;
ti.mask = TCIF_IMAGE;
ti.iImage -= 1;
m_Tab.SetItem( sel, &ti );
*pResult = 0;
}
4 初始化主窗体是,初始化标签对话框
void MyClassName::AddTabItems()
{
TC_ITEM TabItem;
memset (&TabItem, '/0', sizeof (TC_ITEM));
TabItem.mask = TCIF_TEXT | TCIF_PARAM;
TabItem.iImage = 0;
TabItem.lParam = (long) &m_Dialog_Std;
TabItem.pszText = _T("标签1");
m_Tab.InsertItem( 0, &TabItem );
//other tabs
//...
}
1 画一无属性窗体,拖上控件,并创建类
2 新建自定义窗体的对象和Table Control的对象
3 添加Table Control对象的消息:TCN_SELCHANGE, TCN_SELCHANGING
void MyClassName::OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult)
{
TC_ITEM ti;
CWnd* cDlg;
int result;
int sel = m_Tab.GetCurSel();
ti.mask = TCIF_PARAM | TCIF_IMAGE;
result = m_Tab.GetItem( sel, &ti );
cDlg = (CWnd *) ti.lParam;
if (cDlg)
{
cDlg->ShowWindow(true);
}
else;
ti.mask = TCIF_IMAGE;
ti.iImage += 1;
m_Tab.SetItem( sel, &ti );
*pResult = 0;
}
void MyClassName::OnSelchangingTab(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
TC_ITEM ti;
CWnd* cDlg;
int result;
int sel = m_Tab.GetCurSel();
ti.mask = TCIF_PARAM | TCIF_IMAGE;
result = m_Tab.GetItem( sel, &ti );
cDlg = (CWnd *) ti.lParam;
if (cDlg)
{
cDlg->ShowWindow (false);
}
else;
ti.mask = TCIF_IMAGE;
ti.iImage -= 1;
m_Tab.SetItem( sel, &ti );
*pResult = 0;
}
4 初始化主窗体是,初始化标签对话框
void MyClassName::AddTabItems()
{
TC_ITEM TabItem;
memset (&TabItem, '/0', sizeof (TC_ITEM));
TabItem.mask = TCIF_TEXT | TCIF_PARAM;
TabItem.iImage = 0;
TabItem.lParam = (long) &m_Dialog_Std;
TabItem.pszText = _T("标签1");
m_Tab.InsertItem( 0, &TabItem );
//other tabs
//...
}