关于MFC标签控件,哪位帮忙下!!!谢谢

guduhen 2007-04-24 12:03:28
我定义了5个页面,用这个函数设置的m_Tab.InsertItem(m,&item)标签,但当用 switch((int)m_Tab.GetCurSel())
{
case 0:
m_xlbq.ShowWindow(SW_SHOW);
break;
}
编译正常,但运行时就出错。
请哪位哥哥帮忙下
谢谢
...全文
554 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
deakwisp 2010-05-27
  • 打赏
  • 举报
回复
看 过
guduhen 2007-04-26
  • 打赏
  • 举报
回复
可通过编译,就是运行后选择响应的标签页不错
guduhen 2007-04-26
  • 打赏
  • 举报
回复
对啊
大哥 那应该怎么解决呢?
guduhen 2007-04-26
  • 打赏
  • 举报
回复
问题解决了
就是不会在标签页上实现相应的功能
阿先森 2007-04-25
  • 打赏
  • 举报
回复
我估计是属性页面附属于属性对话框,不应该显示地编程实现隐藏和显示.
如果估计没错的话,你在运行报错后点击调式,会得到"暴力进入"的提示.
guduhen 2007-04-24
  • 打赏
  • 举报
回复
属性页不会啊
guduhen 2007-04-24
  • 打赏
  • 举报
回复
这是全部代码
你看看哪里的问题哦
guduhen 2007-04-24
  • 打赏
  • 举报
回复
代码如下 :
CJXQK m_jxqk;
CKYQK m_kyqk;
CSHJZ m_shjz;
CSKQK m_skqk;
CXLBQ m_xlbq;
TCITEM item;
item.mask=TCIF_TEXT;
CString sPage;
for(int m=0;m<5;m++)
{
switch(m)
{
case 0:
sPage.Format("学历变迁",m+1);
item.pszText=sPage.GetBuffer(sPage.GetLength());
m_Tab.InsertItem(m,&item);
break;
case 1:
sPage.Format("进修情况",m+1);
item.pszText=sPage.GetBuffer(sPage.GetLength());
m_Tab.InsertItem(m,&item);
break;
case 2:
sPage.Format("上课情况",m+1);
item.pszText=sPage.GetBuffer(sPage.GetLength());
m_Tab.InsertItem(m,&item);
break;
case 3:
sPage.Format("科研情况",m+1);
item.pszText=sPage.GetBuffer(sPage.GetLength());
m_Tab.InsertItem(m,&item);
break;
case 4:
sPage.Format("社会兼职",m+1);
item.pszText=sPage.GetBuffer(sPage.GetLength());
m_Tab.InsertItem(m,&item);
break;
}
}
m_jxqk.Create(IDD_JXQK,this);
m_kyqk.Create(IDD_KYQK,this);
m_shjz.Create(IDD_SHJZ,this);
m_skqk.Create(IDD_SKQK,this);
m_xlbq.Create(IDD_XLBQ,this);
CRect DlgRect,PageRect,NewRect;
this->GetWindowRect(&DlgRect);
int nFrameWidth,nTitHeight;
nFrameWidth=GetSystemMetrics(SM_CXFRAME);
nTitHeight=GetSystemMetrics(SM_CYSIZE)+nFrameWidth;
this->m_Tab.GetWindowRect(&PageRect);
NewRect.left=PageRect.left-DlgRect.left-nFrameWidth+2;
NewRect.top=PageRect.top-DlgRect.top-2;
NewRect.right=NewRect.left+PageRect.Width()-nFrameWidth;
NewRect.bottom=NewRect.top+PageRect.Height()-nTitHeight-2;
m_jxqk.MoveWindow(&NewRect);
m_jxqk.ShowWindow(SW_SHOW);
m_kyqk.MoveWindow(&NewRect);
m_kyqk.ShowWindow(SW_HIDE);
m_shjz.MoveWindow(&NewRect);
m_shjz.ShowWindow(SW_HIDE);
m_skqk.MoveWindow(&NewRect);
m_skqk.ShowWindow(SW_HIDE);
m_xlbq.MoveWindow(&NewRect);
m_xlbq.ShowWindow(SW_HIDE);



switch(m_Tab.GetCurSel())
{
case 0:
m_xlbq.ShowWindow(SW_SHOW);
m_jxqk.ShowWindow(SW_HIDE);
m_kyqk.ShowWindow(SW_HIDE);
m_shjz.ShowWindow(SW_HIDE);
m_skqk.ShowWindow(SW_HIDE);
break;
case 1:
m_jxqk.ShowWindow(SW_SHOW);
m_kyqk.ShowWindow(SW_HIDE);
m_shjz.ShowWindow(SW_HIDE);
m_skqk.ShowWindow(SW_HIDE);
m_xlbq.ShowWindow(SW_HIDE);
break;
case 2:
m_skqk.ShowWindow(SW_SHOW);
m_jxqk.ShowWindow(SW_HIDE);
m_kyqk.ShowWindow(SW_HIDE);
m_shjz.ShowWindow(SW_HIDE);
m_xlbq.ShowWindow(SW_HIDE);
break;
case 3:
m_kyqk.ShowWindow(SW_SHOW);
m_jxqk.ShowWindow(SW_HIDE);
m_shjz.ShowWindow(SW_HIDE);
m_skqk.ShowWindow(SW_HIDE);
m_xlbq.ShowWindow(SW_HIDE);
break;
case 4:
m_shjz.ShowWindow(SW_SHOW);
m_jxqk.ShowWindow(SW_HIDE);
m_kyqk.ShowWindow(SW_HIDE);
m_skqk.ShowWindow(SW_HIDE);
m_xlbq.ShowWindow(SW_HIDE);
break;
}
eirsky 2007-04-24
  • 打赏
  • 举报
回复
不知道是什么错误,会不会是其他地方有问题,或者没有成功?
ggw 2007-04-24
  • 打赏
  • 举报
回复
这个控件实在难用。用属性页控件吧。
菜牛 2007-04-24
  • 打赏
  • 举报
回复
把你“定义了5个页面,用这个函数设置的m_Tab.InsertItem(m,&item)标签”这段代码贴出,并且在哪里调用“switch”这段代码的?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧