标题:求助一段菜单切换程序程序
只看楼主
shn521
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:52
注 册:2010-6-18
结帖率:73.33%
已结贴  问题点数:20 回复次数:2 
求助一段菜单切换程序程序
void CMenuDemoDlg::OnOK()
{
//定义一个变量,保存当前显示的是哪个菜单
static int nMenu = 1;
//如果是1号菜单,切换到2号。如果是2号,切换到1号
if(nMenu == 1)
{
::SetMenu(this->GetSafeHwnd(), m_hMenu2);
nMenu = 2;
}
else
{
::SetMenu(this->GetSafeHwnd(), m_hMenu1);
nMenu = 1;
}
}
是不是每次调用这个函数,nMenu 都赋值 1?那么后面nMenu = 2就没用了啊,这个例子是书上的,运行也正确,有点不明白
搜索更多相关主题的帖子: 菜单 
2010-08-03 11:02
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
得分:20 
static int nMenu = 1;不是每次调用都用1赋值,而
是告诉编译器在这个静态变量初始化时将其赋值为1;

调用时根据:
if(nMenu == 1)
{

nMenu = 2;
}
else
{

nMenu = 1;
}

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-03 11:49
shn521
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:52
注 册:2010-6-18
得分:0 
以下是引用东海一鱼在2010-8-3 11:49:22的发言:

static int nMenu = 1;不是每次调用都用1赋值,而
是告诉编译器在这个静态变量初始化时将其赋值为1;

调用时根据:
if(nMenu == 1)
{

nMenu = 2;
}
else
{

nMenu = 1;
}
感谢
2010-08-03 12:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-314667-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.347473 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved