请教:一个关于递归菜单问题
小弟初学,想用递归的法,遍历菜单项
菜单名为:m_zu
写递归函数:
AnsiString TForm1::fu_menu(TMenuItem * lpm_mu)
{
AnsiString ls_text;
for(int i=0;i<lpm_mu->count;i++)
{
ls_msg+=lpm_mu->Itme[i]->Caption+";";
if(lpm_mu->Item[i]->Count>0) //如果还有子菜单,则递归调用
{
ls_msg+=fu_menu(lpm_mu->Item[i])+";";
}
}
}
调用时:
AnsiString ls_msg;
TMenuItem * lm_m;
lm_m=m_zu->Items;
ls_msg=fu_menu(lm_m);
ShowMessage(ls_msg);
结果是遍历菜单,可是多了几个空字符串出来
菜单:
综合管理 系统管理
部门 退出
人员
可是报出来的是:
综合管理;部门;人员;;系统管理;退出;;
一共是多了两个;
请那位大侠指点