问题描述:
我现在有一个TabControl控件,该控件有12个Tab页。所以,Tab显示需要2行。我的实现代码逻辑如下:
CDialog m_pTabs[12];
CDialog tabPage;
for (int i=0; i < 12; i++) {
m_pTabs[0] = &tabPage;
tabControl.InsertItem(i, _T("test"));
}
tabPage.Create(IDD_TAB_DLG, &tabControl);
CRect rc;
tabControl.GetClientRect(rc);
rc.top += 40;
rc.bottom += 40; for (int i = 0; i < 12; i++) {
m_pTabs[i]->MoveWindow(&rc);
m_pTabs[i]->ShowWindow(SW_HIDE);
}
m_pTabs[0]->ShowWindow(SW_SHOW);现在的问题是:
1)如果我将TabControl的“Multiline”属性设置为“FALSE",则能正常显示;
2)如果我将TabControl的“Multiline”属性设置为“TRUE",则界面启动后,Tab区显示空白。哪位大侠遇到过这样的问题?请指教!谢谢!
我现在有一个TabControl控件,该控件有12个Tab页。所以,Tab显示需要2行。我的实现代码逻辑如下:
CDialog m_pTabs[12];
CDialog tabPage;
for (int i=0; i < 12; i++) {
m_pTabs[0] = &tabPage;
tabControl.InsertItem(i, _T("test"));
}
tabPage.Create(IDD_TAB_DLG, &tabControl);
CRect rc;
tabControl.GetClientRect(rc);
rc.top += 40;
rc.bottom += 40; for (int i = 0; i < 12; i++) {
m_pTabs[i]->MoveWindow(&rc);
m_pTabs[i]->ShowWindow(SW_HIDE);
}
m_pTabs[0]->ShowWindow(SW_SHOW);现在的问题是:
1)如果我将TabControl的“Multiline”属性设置为“FALSE",则能正常显示;
2)如果我将TabControl的“Multiline”属性设置为“TRUE",则界面启动后,Tab区显示空白。哪位大侠遇到过这样的问题?请指教!谢谢!
是 Tab 中 文字(头) 可以 2行, 不是 2行 Tab 。
一般 是 用 “+” 或者 ‘》’ 表示 后面 还有。
“Multiline”属性设置为“TRUE",后 是可以 显示 2 行 tab 。
不过 它 自己 就可以 显示 2行,不需要:
for (int i = 0; i < 12; i++) {
m_pTabs[i]->MoveWindow(&rc);
m_pTabs[i]->ShowWindow(SW_HIDE);
}
吧我有个 6个 tab 的 dlg。
把 dlg 宽 缩小后。 就 可以 有 2行 tab
分别 为:
tab1 tab2 tab3
tab4 tab5 tab6.
我 没有 移动 tab。
tabControl.GetClientRect(rc);
tabControl.AdjustRect(FALSE, &rc);
for (int i = 0; i < 12; i++)
{
m_pTabs[i]->MoveWindow(&rc);
m_pTabs[i]->ShowWindow(SW_HIDE);
}
TabControl可以制动显示多行 这个没问题, 只要将Multiline设置为True,则如果tab页多的话,会自动分两行显示。
现在的问题是:我程序第一起来的时候,tab1里显示的是白板,但是,我按一下其他的tab也再回到这个tab也就不是白板了,能正常显示。这个问题让人很困惑!还请二位大侠再研究一下哈。问题解了我再散分哈^_^
tab1 里有什么 对话框 ?
当前 激活的是不是 tab1 ?