永发信息网

MFC中的CPtrArray 好像不是那么好用,进来看看

答案:2  悬赏:80  手机版
解决时间 2021-03-16 16:06
定义了一个类:--定义了一个函数:--这个函数中,对象test不能置空或者delete掉,想我这样delete,传出去的ptrTest就是空的。如果是这样我就感觉CPtrArray用处不大了。有办法解决吗?
最佳答案
方法1:定义对象集合而不是指针集合;2:使用智能指针,比如boost::shared_ptr3:不用delete,但记得清空指针集合的时候需要delete掉每一个对象
全部回答
双缓冲图形刷新的实现步骤 1、创建与窗口设备描述表(前端缓冲区)兼容的内存设备描述表(后端缓冲区) 2、创建与内存设备描述表相兼容的位图并将该位图选入内存设备描述表中(没有位图的设备描述表是不能绘图的) 3、将图形绘制在内存设备描述表中 4、将内存设备描述表中的内容拷贝到窗口设备描述表 5、释放设备描述表句柄、位图等资源 示例: 01.void ondraw(cdc *pdc) 02.{ 03.//定义一个内存设备描述表对象(即后备缓冲区) 04.cdc memdc; 05.//定义一个位图对象 06.cbitmap membitmap; 07.//建立与屏幕设备描述表(前端缓冲区)兼容的内存设备描述表句柄(后备缓冲区) 08.memdc.createcompatibledc(null); 09.//这时还不能绘图,因为没有位图的设备描述表是不能绘图的 10.//下面建立一个与屏幕设备描述表(或者内存设备描述表)兼容的位图 11.membitmap.createcompatiblebitmap(pdc,nwidth,nheight); 12.//将位图选入到内存设备描述表 13.//只有选入了位图的设备描述表才有地方绘图,画到指定的位图上 14.cbitmap *poldbit=memdc.selectobject(&membitmap); 15.//先用背景色将位图清除干净,这里我用的是白色作为背景 16.//你也可以用自己应该用的颜色 17.memdc.fillsolidrect(0,0,nwidth,nheight,rgb(255,255,255)); 18.//绘图 19.memdc.moveto(……); 20.memdc.lineto(……); 21.//将后备缓冲区中的图形拷贝到前端缓冲区 22.pdc->bitblt(0,0,nwidth,nheight,&memdc,0,0,srccopy); 23.//绘图完成后的清理 24.membitmap.deleteobject(); 25.memdc.deletedc(); 26.}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
手动挡汽车空挡滑行真的省油吗?
亿鑫文体书店地址有知道的么?有点事想过去
巴西烤肉在什么地方啊,我要过去处理事情
雍容典雅的意思
梅明平老师是哪里人啊,他的授课风格是什么样
应城东马坊有全峰快递吗?有的话在哪?
明鑫电脑桌转椅这个地址在什么地方,我要处理
4米见方2米深是多少方?
工笔画好学么,本人今年22。没有任何美术(绘
七年级的科学实验
容易被附体的人为什么不可以在家给看不见的众
三星note3手机不想用系统自带的播放器怎样换
男人秃顶而阴毛旺盛为什么
电脑上有没有快捷键可以调一个键盘出来,你按
我心中完美的初中生活 作文600~700
推荐资讯
乐山市中心城区六意哑巴兔餐厅怎么去啊,有知
郴州什么地方有麦当劳?
我的两颗龅牙能不能打磨?
日本人学习了老子的道德经后开始崇拜老子,所
买个最简单的网站,需要多少钱
我是新疆的学生,11年高考,问下大哥大姐们谁
哪位好心人有 2016司考钟秀勇周末系统强化版
打印机显示“系统中的墨粉盒不正确,移除墨粉
腿上,脚上张红疙瘩,很痒,越抓越痒,并且两
47090.12汉字大写如何写
谁知道日本画家天野喜孝的画法属于什么风格?
outlook邮箱【发送键】去哪儿了?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?