【问题标题】:C++ win32 API Message box button clicked单击 C++ win32 API 消息框按钮
【发布时间】:2011-07-15 10:36:26
【问题描述】:

我刚刚开始学习如何使用低级 Win32 API 和 C++ 对 Windows GUI 进行编程,所以请多多包涵。

我有一个消息框,它会在某一点显示,如下所示,它设置为“确定/取消”框

    MessageBox(hWnd, L"Hello", L"Caption", MB_OKCANCEL);

我的问题是,您如何检查两个(或更多)按钮中的哪一个被按下并采取相应措施?

谢谢

汤姆

【问题讨论】:

  • 直接来自 MessageBox 上的 MSDN 文档:“如果函数成功,则返回值是以下菜单项值之一。”然后是你的答案。

标签: c++ winapi api messagebox


【解决方案1】:

查看MessageBox 描述。返回类型是单击的按钮的值。例如,IDOK 当用户按下“确定”按钮时。

【讨论】:

    【解决方案2】:

    你可以使用

    int msgboxID=MessageBox(NULL, "DOCTOR WHO","BBC", MB_OKCANCEL | MB_DEFBUTTON2);
    switch(msgboxID){
        case IDCANCEL:// you check msdn for more cases
         {
         PostQuitMessage(0);
         return 0;
         }
    
    
                   }
    

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx

    【讨论】:

      【解决方案3】:

      MessageBox() 调用返回一个整数值,提供单击按钮的值。

      http://msdn.microsoft.com/en-us/library/ms645505(v=vs.85).aspx

      【讨论】:

        【解决方案4】:

        嗯,Google 搜索 MessageBox 会得到 link to Microsoft's documentation。 查看“返回值”部分。 这有帮助吗?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-10-22
          • 1970-01-01
          • 2016-03-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-15
          • 1970-01-01
          相关资源
          最近更新 更多