永发信息网

非模态对话框的关闭

答案:4  悬赏:70  手机版
解决时间 2021-03-16 04:42
非模态对话框的关闭
最佳答案
使用了指向全局的DoModal对话框类,并在线程中试图销毁对话框对象,有可能导致,最好改成局部的。如果是派生类,在析构函数里设置m_hWnd=NULL;追问不知所云追答非模态窗口一般都要使用close来关闭,而不是销毁,两者意义不同。
因为销毁的话,线程中可能出现问题。
pDialog->CloseWindow();
delete pDialog;//如果要再次使用就要重新new,或者不加这句delete
窗口对象的生存期应长于对应的窗口,也就是说,不能在未关闭屏幕上窗口的情况下先把对应的窗口对象删除掉。
所以一般要先关闭窗口之后,才能destroy掉。
destroywindow中删除对象后会自己设置指针为空,所以你不必做这个操作pDialog=NULL;追问哦 我先试试 可以就给分追答能提供帮助就行了,分无所谓的。祝你成功。
全部回答
Debug与Relese的区别在于,Debug包含调试信息,报的什么错,把错贴出来或者自己调试下,不然别人怎么帮你解决报错。追问已经补充了,麻烦看一下追答
这是我写的,与你的处理方式应该是一样的,08编译,试试是不是你要的效果,追问我用VC6的,打不开
pDialog->ShowWindow(SW_HIDE);
不要这么做:pDialog=NULL;追问你是说只隐藏不关闭是吗?追答对呀!非模态对话框,不需要主动关闭的,什么时候不需要了隐藏就是了!需要就显示它!追问嗯 这样中间过程是不会有问题,
可是程序退出时总有要关闭的时候,那时这个问题靠隐藏就不能回避了,这时怎么办?
我是说隐藏治标不治本,你能提供关闭不报错的方案吗?追答程序退出会自动关闭的。
并且会调用 pDialog->PostNcDestroy();
你只要重写 PostNcDestroy() ;在里面 delete this;就可以了!!追问PostNcDestroy() 里 delete this 这个代码已经有的 还是有问题追答什么问题,程序退出会自动关闭的呀!追问嗯 我先试试
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小说男主叫杨南,求小说的名字
大名县的8o岁以上老人养老金多少?
中国邮政储蓄银行澧县兰江营业所在什么地方啊
如何指导小学生把作文写具体论文
梦幻西游年卡,我现在有一张月卡再用,再买十
请问98元套餐送手机绑定了银行卡把手机补一个
我在神州租车已经预订好了,还没有取车,我想车
有没有人知道"last smile"的歌词?
怎么批量删除微信单项好友?
做长途汽车从温岭到武汉要多少时间?
佳美窗帘水暖这个地址在什么地方,我要处理点
宁夏吴忠的房价现在是多少钱啊?
液压轴向柱塞泵和电机相连方向看,顺时针是正
月经推迟4天,腰酸背痛怎么回事
顺桥园过桥米线地址在什么地方,想过去办事
推荐资讯
东莞市路路通工商税务管理事务所在什么地方啊
单选题目前人类所能观测到的最高一级的天体系
f(x)的郑秀晶整过容吗?
肾结石因肾襄肿不能做手术和激光怎么办
串门火辣(新西亚店)这个地址在什么地方,我要
怎样用手机给其它号充值
软件下载到才c盘后,可以转到d盘吗?c盘装太多
希望美食餐厅地址在哪,我要去那里办事
普拉多14款大灯灯泡怎么换
联通怎么使用10G定向流量?
惠福西路地址有知道的么?有点事想过去
察布查尔县有什么旅游的地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?