我有一个指针 p,指向一个窗口,指针内容是new出来的。if(!p->GetSafeHand))
    p->>create()然后我把他停靠在主窗口,以前都没问题。。现在我的p要delete,然后指向另一个窗口,
请问如何把这个窗口删除,并从主窗口的dock_list中删除,
有一个函数直接调用么,还是要自己写??

解决方案 »

  1.   

    如果直接delete不调用DestroyWindow()有什么问题么,我做出来和我想的不太一样,想问问
    详细情况下周说啦
      

  2.   

    应该不行的。首先要知道c++对象,和窗口对象是不一样的,例如先得DestroyWindow(),窗体销毁了,但c++对象还存在。所以说,如果是new的对象,应该先销毁窗口,在delete对象
      

  3.   

    不DestroyWindow直接delete,系统管理信息没有更新。
      

  4.   

    是这样的,我有一个主窗口,在.exe里面。在DLL里面,有一个工具条窗口类。
    主窗口一个指针(父类),指向那个工具条(子类)。由于继承关系,只能在dll中new/delete。dll是动态加载的,所以我想加载的时候创建工具条,
    卸载的时候删除工具条。现在加载的时候很好,new-create-dock都成功,功能什么的都实现了,
    就是卸载的时候destroy有问题。当然也就执行不到delete的地方了。代码太多,不方便贴,各位想下可能是什么原因呢,我追到,destroy窗口的时候 是一个Map的问题。
    以下就不明白原因了
      

  5.   

    DestroyWindow就是销毁窗口的,p也要释放