mfc中的动态对象的创建与一般的对象的创建到底有什么区别,感觉都是在运行时创建的,大家讨论下,发表一下意见!!!!

解决方案 »

  1.   

    动态创建的控件的生命周期由你来控制,控制它什么时候生成,什么时候销毁,非动态创建的,这些是由MFC框架自己生成的,这些控件的生命周期是MFC自己控制的。
      

  2.   

    如果楼主指的是 Windows 对象的话,那么上面的回答大部分有问题。
    所有 Windows 对象都是程序运行时才创建的,比如:窗口。
    不管你怎么做,使用 MFC 还是 SDK 编程,窗口都是程序运行后才建立的,
    编译程序时不可能建立窗口。
      

  3.   

    动态创建--RUNTIME_CLASS 使用的MFC的 CRuntimeClass类。。
    他是在程序运行时创建的对象,,其灵活度要比 编译时创建的要好的多。。
    MFC的运行时类,和其他语言的运行时有一样的优点,只是使用起来很麻烦,需要使用如下宏:
    DECLARE_DYNAMIC 和 IMPLEMENT_DYNAMIC 
    DECLARE_DYNCREATE 和 IMPLEMENT_DYNCREATE 
    DECLARE_SERIAL 和 IMPLEMENT_SERIAL 具体的原理在侯老师的 《深入浅出MFC》已经介绍的很清楚了。。呵呵。。
      

  4.   


    我们在编写 Windows 程序时,实际上是在编写各个窗口的 Window Procedures【窗口过程】;
    这时编写程序改叫【设计程序】更合适。
    设计好各个窗口的窗口过程,程序运行时根据它来执行。
    【对话框】为什么能事先设计好?
    原因是编译器做了后台工作,编译器帮我们产生了设计代码。
      

  5.   

    不管是mfc对象,还是windows对象,编译时能创建对象么,我不禁要问?
      

  6.   

    关于动态对象的一系列概念最好看 《深入浅出MFC》,不过我看了一遍.只有一个大体上的概念.还需要在实际中体会.