MFC中的子窗体和主窗体有什么区别呢!

如题,小弟初学MFC对于主窗体和子窗体的概念不清楚!
2025-03-20 23:00:58
推荐回答(2个)
回答1:

这个问题太模糊了。
大的方面说,
主窗体就是一个程序的最外层框架,MFC中可以是框架窗口和对话框,而win32程序只要是一个窗口即可。主窗口在程序中没有“父”窗口设定,运行后其父窗口是桌面。
子窗口就是嵌套或者循环嵌套在主窗口里面的所有窗口,几乎(除非你不设定)都是有父窗口的。

对MFC文档视图结构来说,主窗口就是CMainFrame,这是一个CWnd派生类,封装了很多主窗口附加属性,如菜单、对话框、状态条。
子窗口就是CMDIChildWnd(注单、多文档不一样)派生,和主窗口是父子关系,封装了大量的文档视图模板类支持,和文档、视图类进行了很多内置关联,没有默认菜单工具条。

总之,MFC的概念,只是进行了大量的封装支持,其实对于真正的win32窗口来说,“主”就是程序的全局外层框架。而“子”没有明确的概念,出来这个主,都是子。

回答2:

子窗体只能在主窗体里面显示.