非常奇怪,VC的问题还是我的问题?关于自做的向导界面。

KnightRay 2003-05-09 03:05:52
我想做一个向导的界面,通过ShowWindow来显示、隐藏各个页面的控件。
我是这样做的
建一个数组,里面分别存放各个页面的控件的ID,像这样
int Pages[PAGECOUNT][8]={{
IDC_STATIC1_1,
IDC_STATIC1_2,
IDC_EDIT1_1,
IDC_EDIT1_2,
0,0,0,0
},
{
IDC_STATIC2_1,
IDC_STATIC2_2,
IDC_STATIC2_3,
IDC_STATIC2_4,
IDC_EDIT2_1,
IDC_EDIT2_2,
IDC_EDIT2_3,0
},
{
IDC_STATIC3_1,
IDC_STATIC3_2,
IDC_STATIC3_3,
IDC_STATIC3_4,
IDC_EDIT33_1,
0,0,0
},
{
IDC_STATIC4_1,
IDC_STATIC4_2,
IDC_STATIC4_3,
IDC_STATIC4_4,
IDC_STATIC4_6,
IDC_EDIT4_1,
IDC_EDIT4_2,
IDC_PROGRESS4_1,
}};
然后,写一个ShowPage函数,如此
void CDoSendDlg::ShowPage(int ShowIndex)
{
for (int k=0;k<PAGECOUNT;k++)
{
if (k==ShowIndex)
{
for (int j=0;j<12;j++)
if (Pages[k][j])
::ShowWindow(GetDlgItem(Pages[k][j])->m_hWnd,true);
}
else
{
for (int i=0;i<12;i++)
if (Pages[k][i])
::ShowWindow(GetDlgItem(Pages[k][i])->m_hWnd,false);
}
}
}

但奇怪的事发生了,当只有两个页面的时候,一切正常,四个页面时候,就完全乱了,本该隐藏的显示出来,该显示的隐藏了。然后我减少了控件数目,一切又可以了。在某个特定的控件数目,多一个就乱了!!!!
难道一个对话框上的控件数目是有限制的?!不可能啊。。。。。

...全文
43 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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