100上位机VC MFC标签控件CTabCtrl创建使用
100上位机VC MFC标签控件CTabCtrl创建使用
功能展示
在程序参数设置中经常会看到同一窗口通过不同按钮实现不同窗口参数的设置,这是通过标签控件实现的,便标签控件的使用步骤较多,我们当前例程演示如何使用这个控件,效果如图 要点提示 在标签控件使用时,选择不同的标签时会切换到不同的窗口显示信息,标签的切换会触发一个TCN_SELCHANGE消息,我们只要在这消息处理函数中实现不同窗口的切换便可;
实现功能 1.新建基于对话框的应用程序 2.拖拽一标签控件,关联变量CTabCtrl m_Tab; 准备三图标并添加变量CImageList m_ImageList;用于设置标签的图标; 新建三对话框资源,设置属性为子窗口无边框,并关联三对话框变量 CDlg1 m_Dlg1; CDlg2 m_Dlg2; CDlg3m_Dlg3;用于显示不同标签下的窗口;
3. OnInitDialog()中初始化这些变量 - m_ImageList.Create(24,24,ILC_COLOR24|ILC_MASK,1,0);
- //向图像列表中添加图标
- m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
- m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
- m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON3));
- //将图像列表关联到标签控件中
- m_Tab.SetImageList(&m_ImageList);
- m_Tab.InsertItem(0,"电气工程师",0);
- m_Tab.InsertItem(1,"生产经理",1);
- m_Tab.InsertItem(2,"设备操作员",2);
-
- m_Dlg1.Create(IDD_DIALOG1,&m_Tab);
- m_Dlg2.Create(IDD_DIALOG2,&m_Tab);
- m_Dlg3.Create(IDD_DIALOG3,&m_Tab);
- m_Dlg1.CenterWindow();
- m_Dlg1.ShowWindow(SW_SHOW);
复制代码
4、添加TCN_SELCHANGE消息的处理函数,用于切换时,显示不同的窗口 - void CGkbc8Dlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
- {
- int index = m_Tab.GetCurSel();
- switch(index)
- {
- case 0:
- m_Dlg1.CenterWindow();
- m_Dlg1.ShowWindow(SW_SHOW);
- m_Dlg2.ShowWindow(SW_HIDE);
- m_Dlg3.ShowWindow(SW_HIDE);
- break;
- case 1:
- m_Dlg1.ShowWindow(SW_HIDE);
- m_Dlg2.CenterWindow();
- m_Dlg2.ShowWindow(SW_SHOW);
- m_Dlg3.ShowWindow(SW_HIDE);
- break;
- case 2:
- m_Dlg1.ShowWindow(SW_HIDE);
- m_Dlg2.ShowWindow(SW_HIDE);
- m_Dlg3.CenterWindow();
- m_Dlg3.ShowWindow(SW_SHOW);
- break;
- }
- *pResult = 0;
- }
- <div style="text-align: center;"><span style="font-size: large; line-height: 1.5;"><b>我们来演示下功能实现的整个过程</b></span></div>
复制代码
|