繁体   English   中英

清除输入命令行?

[英]Clear input command line?

我正在制作一个控制台应用程序。 它从菜单开始,如果我按该键, 1.菜单切换到另一个菜单屏幕。 但是请注意,没有我按“ Enter”键。 这意味着我的1仍然存在,在菜单中进一步下移时显然不好。

如何清除输入命令行?

我正在使用的功能。

if(GetAsyncKeyState('1'))
        {
            IEventDataPtr gameState(GCC_NEW EvtData_Set_Game_State("PREGAMESTATE"));
            em->VTriggerEvent(gameState);
//Enter line clearing code.
        }

函数GetAsyncKeyState为您提供“密钥的当前状态”。 因此,它将在键盘驱动程序收到“按下1键”到键盘驱动程序收到“释放1键”之间返回true。

如果您想一次获得一个按键,我会严重建议您改用ReadConsoleInput

替代方法是使用类似以下的内容:

 while(GetAsyncKeyState('1'))
 {
     // Do nothing. 
 }

等待该键被释放。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM