TAB控件实例
来源:互联网 发布:淘宝发射器暗号 编辑:程序博客网 时间:2024/04/29 02:19
VC之TAB控件实例
1.在主面板上拖放一Tab Control控件,我们这里建立其在主面板类(CTabSampleDlg)里面的成员变量m_tab。
2.添加两个子对话框,设置属性Style设置为child,Border设置为none。这里要注意了,添加的必须是继承自DIALOG类的对话框,而不是PropPage对话框,否则的话,子面板将不能响应用户操作。然后生成两个新类“CTabPage1, CTabPage2”。
3.为CTabSampleDlg类添加两个成员变量,他们分别是CTabPage1和CTabPage2类的实例。
4.在CTabSampleDlg类的OnInitDialog成员函数内的适当位置添加如下代码。
BOOL CTabSampleDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The work does thisautomatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
//==========================================================
//初始化TAB
m_tab.InsertItem(0, L"第一页");
m_tab.InsertItem(1, L"第二页"); //到这里只是添加了两个tab页
CRect rec;
m_tab.GetClientRect(&rec);//获得TAB控件的坐标
//定位选项卡页的位置,这里可以根据情况自己调节偏移量
rec.bottom -= 1;
rec.left += 1;
rec.top += 20;
rec.right -= 2;
//创建子页面
//m_page1,m_page2在对话框类头文件中定义(需添加新建两类的头文件)
m_page1.Create(IDD_DIALOG1, GetDlgItem(IDC_TAB));
m_page2.Create(IDD_DIALOG2, GetDlgItem(IDC_TAB));
//将子页面移动到指定的位置
m_page1.MoveWindow(&rec);
m_page2.MoveWindow(&rec);
//显示子页面
m_page1.ShowWindow(SW_SHOW);
m_page2.ShowWindow(SW_HIDE);
//===============================================================
return TRUE; // return TRUE unless you set the focus to acontrol
}
5.为主面板上的TabControl控件添加 OnSelchangeTab事件,添加代码如下。
void CTabSampleDlg::OnSelchangeTab(NMHDR* pNMHDR, LRESULT*pResult)
{
// TODO: Add your control notification handler code here
switch(m_tab.GetCurSel())
{
case 0:
m_page1.ShowWindow(SW_SHOW);
m_page2.ShowWindow(SW_HIDE);
break;
case 1:
m_page1.ShowWindow(SW_HIDE);
m_page2.ShowWindow(SW_SHOW);
break;
default:
break;
}
*pResult = 0;
}
源代码在我的资源里可供下载
http://download.csdn.net/detail/windows_nt/4437586
======================================
- TAB控件实例
- VC之TAB 控件实例(转)
- Tab控件的一个简单应用实例
- 4.MFC Tab控件的使用基础实例
- MFC中属性表单,向导,Tab控件演示实例
- tab控件
- TAB控件
- tab 控件
- Tab控件
- Tab控件
- Tab控件--VC2010 使用TAB控件
- Tab控件效果
- VC++之Tab控件
- 使用Tab Control控件
- 自绘 tab 控件
- 漂亮的TAB控件
- tab控件的用法
- Tab控件的使用
- 2012-7-19 周四 计划
- 【100题】求1+2+……N的和-----函数指针的方法!!!
- C#文件同步
- C# + AE 判断图层类型
- C中Static的作用详述
- TAB控件实例
- 屏客来电秀
- AE +C# 生成环状面要素的方法
- 怎样写一个拼写检查器
- 2012.7.19计划
- 卡死的原因分析??
- 分析
- HDU-1166-敌兵布阵(线段树)
- db2 表处于暂挂状态的解决方案(SQL0668N)