先看运行效果
光标定位到按钮处
按Enter键,展开下拉框
选择成功,隐藏下拉框
**
在注册界面的doAction()里判断是否触发<角色>按钮,触发则展开,并直接在旁边的空白处显示两个可选按钮(需要新创建一个Window的派生类实现),两个按钮选择其中一个后,调用部分清屏函数,并把选择的结果打印到框中(这个框是死框,单纯由线条打印,不是Edit类)
**
附上部分代码
if(res==3)
{
//下拉框选择角色
Tool::gotoxy(this->winX+46,this->winY+17),cout<<">>";
//新建一个Window的派生类
SelectRole seleRole(this->winX+51,this->winY+17,0,0);
seleRole.showWin();
seleRole.runWin();
if(seleRole.getFocusIndex()==0)role=INVTER;
else if(seleRole.getFocusIndex()==1)role=WAREHER;
Tool::localClear(this->winX+48,this->winY+16,32,3);//部分清屏
Tool::gotoxy(this->winX+46,this->winY+17),cout<<"<<";
Tool::gotoxy(this->winX+34,this->winY+17);
if(role==INVTER)
{
printf(" \b\b\b\b\b\b\b\b\b\b");//便于用户后悔进行多次选择
printf("盘点员");
}
else if(role==WAREHER)
{
printf(" \b\b\b\b\b\b\b\b\b\b");
printf("仓库管理员");
}
this->runWin();//重新运行注册界面的runWin(),让光标到适当的位置
}