VC6.0中基于单文档的MFC EXE中的Tab Control控件问题
VC6.0中基于单文档的MFCEXE中的TabControl控件问题,目的是在菜单下的子菜单弹出这样的属性页,并且需要添加特定功能的按钮,所以一般的普通属性页不能满足要求...
VC6.0中基于单文档的MFC EXE中的Tab Control控件问题,目的是在菜单下的子菜单弹出这样的属性页,并且需要添加特定功能的按钮,所以一般的普通属性页不能满足要求,所以才想到了tab控件,但是搞了几天,仍然一头雾水,还请各位友人多多帮忙指教,非常感谢,(有代码可发邮箱306983340@qq.com,会追加财富值!)
展开
4个回答
展开全部
针对你的情况:
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()调用该主对话框。
不懂再问。
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()调用该主对话框。
不懂再问。
更多追问追答
追问
帅哥,您老在我的两个帖子上回答同样的问题同样的答案。。。。
追答
擦,我正准备说怎么今天遇见两个相同的问题。汗~~~
展开全部
“搞了几天,仍然一头雾水”
我为你的问题增加点人气吧
我为你的问题增加点人气吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写了个简单的,你看下,不知道时候适合
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
。。。
追问
楼上发00是给我邮箱发了实例的,您发“。。。”啥意思?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询