如何调用多个对话框并将它们与用户线程相关联?

时间:2014-02-25 11:35:40

标签: c++ multithreading mfc win32gui

我正在开发一个允许同时打开多个模态对话框的应用程序。每当我关闭第一个对话框时,我一直遇到一个问题,它会在没有错误的情况下关闭,并且在我关闭第二个对话框之前调用不会回到被调用方,这会破坏我必须达到的目的。

示例代码:

Class A
{
    func1()
    {
        ....
        DOModal()
        ....//some processing
    }

Class B
{
    func2()
    {
        ...
        doModal()
    }
}

我尝试通过将其与对话框相关联来创建用户线程和事件机制,但发生的事情是,在我做出响应之前,它实际上并没有让我打开另一个对话框。我仍然希望执行按原样发生。

我的应用程序是单线程环境。

1 个答案:

答案 0 :(得分:0)

DoModal对话框允许您为每个线程一次只启动一个。相反,您可以尝试create显示对话框,其中参数 nIDTemplate 作为对话框的ID, pParentWnd 作为父窗口。在这里,您不需要创建多个线程。