主对话框创设非模式对话框,为什么主对话框最小化时所有创建的窗口也不见了

主对话框创建非模式对话框,为什么主对话框最小化时所有创建的窗口也不见了
1.我建了一个基于对话框的程序,在主对话框上有个按钮,每点一下创建一个子的非模态对话框,子对话框创建成功后任务栏上不显示,而且主对话框最小化时,所有创建的子对话框全跟着不见了,怎么回事?像QQ那样,创建了许多对话框,主窗口最小化后子窗口还能显示,怎么样才能做到??
  2.再顺便问一个,主对话框和它创建的子对话框之间传递消息,如果用sendMessage,那主对话框和子对话框都用哪个函数响应这些消息呢?是要为每一个自定义消息都建立一个函数吗?还是其他方法?

------解决方案--------------------
1.非模式对话框,Create的时候指定父窗口是GetDesktopWindow();
2.没理解。。
------解决方案--------------------
主对话框里面创建的非模式子对话框显示绝对是随着主对话框的显示来进行的,并且子对话框的窗口不能超出主对话框的范围,也就是相当于这个子对话框嵌在主对话框里面了。主对话框最小化、隐藏等操作都会影响到这些子对话框的显示。所以如果楼主想QQ那样的话,就在子对话框Create的参数父对话框设置成NULL,也就是不存在父子关系,这样就不会有这些问题了。
传递消息的方式是一样的,PostMessage和SendMessage都可以,如果是自定义的消息,就要自己设置它的消息处理函数,用ON_MESSAGE()进行映射;如果是Windows的消息就不必这样操作了。