CFormView中嵌入从CView派生的控件

来源:互联网 发布:人工智能英语 编辑:程序博客网 时间:2024/05/18 01:07

最开始,我采取的是在formview中定义一个成员变量如m_wnd3DPie,然后再formview的OnInitialUpdate中调用m_wnd3DPie的create创建控件。可正常运行,但是在程序退出,formview销毁的时候,会在cview的PostNcDestroy 中delete this失败。改为定义为指针变量,然后再OnInitialUpdate中new以及create创建,然后在formview的DestroyWindow函数中,加入delete该指针即可。具体原因不知,如有知道,劳烦各位也告知本人。 有说法是因为cview的派生类在销毁时会自己delete自己,所以导致delete两次。第二次的delete自然就失败了。

当然,也可以在m_wnd3DPie的类中重写PostNcDestroy函数,并在该函数中调用DestroyWindow即可。

原创粉丝点击