【问题标题】:Dialog not close on Windows MobileWindows Mobile 上的对话框未关闭
【发布时间】:2010-11-21 17:01:58
【问题描述】:

我制作了一个非常简单的 MFC 应用程序,当我单击按钮时调用一个对话框,并在 5 秒后发送一个 MessageBox。

问题是,当我在第二个对话框中并且我从父级关闭 MessageBox 时(不单击 MessageBox 的确定按钮。我单击第二个对话框的空白部分)我无法关闭此对话框(第二个对话框) 当我点击 OK 或 CANCEL 按钮时。

为什么?

部分代码:

主目录: BOOL Cmult_rc_testDlg::OnInitDialog() { CDialog::OnInitDialog(); // 设置此对话框的图标。该框架会自动执行此操作 // 当应用程序的主窗口不是对话框时 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); //设置小图标 SetTimer(1, 5000, NULL); 返回真; // 除非您将焦点设置到控件,否则返回 TRUE } 无效 Cmult_rc_testDlg::OnBnClickedButton1() { CDlg1一个; a.DoModal(); } 无效 Cmult_rc_testDlg::OnTimer(UINT_PTR nIDEvent) { KillTimer(nIDEvent); 消息框(L“oi”); CDialog::OnTimer(nIDEvent); }

第二个Dialog是MFC向导生成的默认代码。

【问题讨论】:

    标签: mfc mobile dialog


    【解决方案1】:

    不确定我是否完全理解您的问题。 . .当消息框仍然显示时,听起来您正在尝试关闭父窗口?

    如果是这种情况,则父窗口拥有消息框,并且在消息框关闭之前不允许获取焦点。您可以尝试使用

    ::MessageBox(NULL, L"oi", L"MessageBox", MB_OK);
    

    而不是 MessageBox,它将创建一个消息框,使您仍然可以将注意力重新集中在原始窗口上( :: 表示使用 MessageBox 的全局命名空间版本,这是与 MFC 相对的 Windows 本机调用)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      • 2011-09-01
      • 2020-06-02
      • 2021-09-10
      • 2013-02-11
      • 1970-01-01
      相关资源
      最近更新 更多