为什么,在CFrame类的OnCreate函数中,添加一个Dialog,可以创建一个局部对象,当DoModal以后,再Detach这个对象就可以显示了。
但是,在Dialog上创建一个对象,我也是对一个button进行写代码,创建一个CButton局部对象,然后这个对象Create一个图形,然后显示,在Detach,就运行不了呢?总是报错,但是当改为全局对象以后,就可以的

解决方案 »

  1.   

    DoModal是点击OK按钮或者退出之后才返回的,也就是说你的OnCreate产生的对话框直到关闭该对话框OnCreate函数才退出
    但是你的按钮就不是这么回事了,创建完成就返回,就是说你在哪个函数里创建的,这个函数退出后按钮也就销毁了,这个就是变量作用域的问题,相比DoModal,由于OnCreate一直没退出,所以那个dialog在作用域内一直有效
      

  2.   

    楼主试试不要用DoModal,Create,然后ShowWindow,应该是一闪而过的