C++ Code_TabControl
主题 |
1. 选项卡控件基础 2. 显示图标的选项卡 3. 选项卡控件高级 4.
5.
|
属性 |
|
选项卡控件基础 |
1.插入1个对话框,新建1个类 CCDialog1,1
个对话框对应一个TAB属性页面
2.对话框设置属性
Style:Child,
Border:None
3. 定义公共变量
双击 DIALOG1的OK按钮
CDialog1 m_page1;
CDialog2 m_page2;
CDialog3 m_page3; 给TABCTRL 关联一个控件变量
CTabCtrl m_tab1;
4 代码如下::OnInitDialog()
// TODO: Add extra initialization here
m_tab1.InsertItem(0,"AA");
m_tab1.InsertItem(1,"BB");
m_tab1.InsertItem(2,"CC");
m_page1.Create(IDD_DIALOG1,&m_tab1);
m_page2.Create(IDD_DIALOG2,&m_tab1);
m_page3.Create(IDD_DIALOG3,&m_tab1);
CRect rect;
m_tab1.GetClientRect(rect);
rect.DeflateRect(2,30,2,2);
m_page1.MoveWindow(&rect);
m_page2.MoveWindow(&rect);
m_page3.MoveWindow(&rect);
m_page1.ShowWindow(SW_SHOW);
m_page2.ShowWindow(SW_HIDE);
m_page3.ShowWindow(SW_HIDE);
m_tab1.SetCurSel(0);
5 为双击tabctrl添加OnSelchangeTab1消息
void CMfc01Dlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int nCurSel = m_tab1.GetCurSel();
switch(nCurSel)
{
case 0:
m_page1.ShowWindow(SW_SHOW);
m_page2.ShowWindow(SW_HIDE);
m_page3.ShowWindow(SW_HIDE);
break;
case 1:
m_page1.ShowWindow(SW_HIDE);
m_page2.ShowWindow(SW_SHOW);
m_page3.ShowWindow(SW_HIDE);
break;
case 2:
m_page1.ShowWindow(SW_HIDE);
m_page2.ShowWindow(SW_HIDE);
m_page3.ShowWindow(SW_SHOW);
break;
}
*pResult = 0; }
效果图:
|
显示图标的选项卡 |
1. 在资源中插入3个ICON 2. 为主对话框的 CMFC01dlg添加变量
CImageList m_imgLst1;//如果这个变量声明放在初始化这个地方
则图标显示不不出来
// TODO: Add extra initialization here
m_imgLst1.Create(24,24,ILC_COLOR24|ILC_MASK,1,1);
m_imgLst1.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON1)));
m_imgLst1.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON2)));
m_imgLst1.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON3)));
m_tab1.SetImageList(&m_imgLst1);
m_tab1.InsertItem(0,"AA",0);
m_tab1.InsertItem(1,"BB",1);
m_tab1.InsertItem(2,"CC",2);
效果图
注:本代码这是片段代码,在上面 的完整代码的基础上的
图片列表使用 CImageList imglst; imglst.Create(); imgLst.Add(); imgLst.SetImageList(&imglst); |
附件列表
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。