假如我有3个对话框Dialog1,Dialog2,Dialog3.
每个对话框中都有getInstance()操作。
程序启动后,先是Dialog1, 当我点击OK时,在Dialog1中使用类似的 Dialog2::getInstance()->DoModal().
,当我在Dialog2中点击OK时,关闭Dialog1,Dialog2,然后Dialog3::getInstance()->DoModal()。
这是画面只有Dialog3了,此时点击关闭,然后Dialog2::getInstance()->DoModal().
结果挂了。我跟踪断点,发现在Dialog3中启动Dialog2时,Dialog2的窗口句柄是有效的(在getInstance()中,还没有DoModal呢),就是说,在Dialog2中,关闭时并没有真正关闭它自己,这是为什么?
Dialog2关闭操作。this->EndDialog(0);
每个对话框中都有getInstance()操作。
程序启动后,先是Dialog1, 当我点击OK时,在Dialog1中使用类似的 Dialog2::getInstance()->DoModal().
,当我在Dialog2中点击OK时,关闭Dialog1,Dialog2,然后Dialog3::getInstance()->DoModal()。
这是画面只有Dialog3了,此时点击关闭,然后Dialog2::getInstance()->DoModal().
结果挂了。我跟踪断点,发现在Dialog3中启动Dialog2时,Dialog2的窗口句柄是有效的(在getInstance()中,还没有DoModal呢),就是说,在Dialog2中,关闭时并没有真正关闭它自己,这是为什么?
Dialog2关闭操作。this->EndDialog(0);
该如何做呢?