VC6.0中基于单文档的MFC EXE中的Tab Control控件如何使用???请各位朋友帮忙详细的说下,谢谢。。。
1个回答
展开全部
楼主算是问对人了,我刚做完一个。
步骤:
1.新建一个以CFormView作为基类的单文档;
2.将Tab控件拖拽至你需要的位置
3.在视图类的OnInitialUpdate()(需要重载)中添加初始化代码
4.重载OnSize()以调整Tab控件的大小
5.在视图类中重载OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)函数以响应 Tab控件切换。
不懂再追问!
步骤:
1.新建一个以CFormView作为基类的单文档;
2.将Tab控件拖拽至你需要的位置
3.在视图类的OnInitialUpdate()(需要重载)中添加初始化代码
4.重载OnSize()以调整Tab控件的大小
5.在视图类中重载OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)函数以响应 Tab控件切换。
不懂再追问!
更多追问追答
追问
首先非常感谢您,很不好意思我是个初学者,我的目的是在菜单下的子菜单弹出这样的属性页,并且需要添加特定功能的按钮,所以一般的普通属性页不能满足要求,所以才想到了tab控件,但是搞了几天,仍然一头雾水,还请您多多指教哈,谢谢,(可否把代码发给我??邮箱306983340@qq.com)
追答
事实上Tab控件和属性页控件作用大体相同。
针对你的情况:
1,新建一个单文档程序,一切都接受默认值
2,.添加一个对话框资源
3,在对话框资源上添加Tab控件
代码如下:
TCITEM as;
as.mask = TCIF_TEXT;
as.pszText="one";
m_tab.InsertItem(0,&as);
as.pszText="two";
m_tab.InsertItem(1,&as);
m_1.Create(IDD_DIALOG1,&m_tab);
m_2.Create(IDD_DIALOG2,&m_tab);
CRect rc;
m_tab.GetWindowRect(&rc);
m_2.SetWindowPos(NULL,rc.left,rc.top,rc.right,rc.bottom,SWP_HIDEWINDOW);
m_1.SetWindowPos(NULL,rc.left,rc.top,rc.right,rc.bottom,SWP_SHOWWINDOW);
// m_1,m_2为两个添加的对话框
4.在m_1,m_2两个对话框中分别加上你需要的按钮等控件,实现你需要的功能
5.为Tab控件添加切换的响应消息
代码如下:
void CtabDlg::OnTcnSelchangeTab3(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: Add your control notification handler code here
switch(m_tab.GetCurSel())
{
case 0:
m_1.ShowWindow(SW_SHOW);
m_2.ShowWindow(SW_HIDE);
break;
case 1:
m_2.ShowWindow(SW_SHOW);
m_1.ShowWindow(SW_HIDE);
break;
}
*pResult = 0;
}
注:这是重载函数,不是你手动添加的自定义函数。
6,在某个你想点击的菜单上用DoModal()调用该主对话框。
手都打酸了,不懂再追问哈~~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询