今天张哥让我看看有没有什么办法解决一下非模态对话框的一个问题。
问题是这样的:在主对话框上产生一个非模态对话框,比如说单击某个按钮,产生一个非模态对话框,但是不要立刻让他生成,而是过5秒生成。在这5秒内,将主对话框最小化到任务栏,5秒过后,点击任务栏中的主对话框,结果主对话框无法显示出来。
我在创建非模态对话框的时候,如果Create(IDD_DIALOG1,this);这里this是主对话框指针,这样调用create就会产生上面所说的问题。如果将create的第二个参数改为GetDesktopWindow(),也就是让非模态对话框的父窗口为桌面,就不会产生上面的问题。但是引出了新的问题,第一,在任务栏中会出现新的对话框任务,第二,在没有关闭非模态对话框时,直接关闭主对话框,非模态对话框不会销毁。不知道有没有更好的方法解决这个问题。