试图运行MessageBoxA()(#include c ++中不同方法的方法

问题描述 投票:-1回答:1

我正在使用C ++制作库管理系统。我的问题是每当我调用getFName()成员函数时,如果用户输入错误的first_name(包含123,%@等),Validate()函数将返回true和MessageBoxA()(在Windows中)。将调用h头文件但我有两个问题:

1)如果我按下Enter键,MessageBox应该消失但是它不能。需要鼠标点击OK按钮。如何在此问题中使用Enter键而不是鼠标单击?

2)如果用户按任何字母数字键,它将在MessageBox存在时计为下一个first_name。

我的预期输出是,如果显示MessageBox,则不应允许用户输入first_name,直到它按下MessageBox()函数中的OK按钮。

void Person :: getFName()
{
    Again :
      cout<<endl<<"Enter Your First Name : ";
      getline(cin,F_Name);
      if(Validate(F_Name))
        {
     int ch = MessageBoxA(NULL,"InValid First Name","C++Error",MB_OK);
         goto Again;

}
c++
1个回答
0
投票

试试这个:

int ch = MessageBoxA(GetConsoleWindow(),"InValid First Name","C++Error",MB_OK);

这应该使消息框模块化为控制台窗口,并且不允许任何输入。

© www.soinside.com 2019 - 2024. All rights reserved.