您的位置:首页 > 其它

VC的对话框中使用CView类

2013-07-29 20:50 232 查看
CView类大多情况下是在单文档窗口或多文档窗口中比较多见,而在VC中也有几个对CView类的派生类,如

CDaoRecordView、CFormView、CEditView、CHtmlView、CListView、CRecordView、CScrollView等等,用这些CView的派生类,我们就可以实现对CView的不同特效,但有的时候我们并不能满足。

最近做一个图像处理软件,用了把界面搞的漂亮一点,就用对话框贴图来做,其实提起贴图也是很具有艺术性的。对一个对话框的贴图就像是在画画一样,对话框就是一张白纸,我们首先可以把对话框进行分隔,进行总体规划,哪一个部位放什么东西。进行对话框分隔可以有很多种方式,但为了可管理性,使用静态文本框做为框架对整个对话框界面进行分隔,把相应的控件设计为静态文本框的子窗口即可。这样,对控件的位置操作就是针相对于静态文本框了。

我们采用基于CView的一个派生类对图片进行显示和处理,把基于CView类的派生类关联到一个图片框,这样就可以实现相应的操作了。但要注意一点,要用视窗对象的Create()进行对对话框的创建,不然的话CView就没有句柄,虽然能够显示图像,操作也没问题,但在关闭窗口时,视窗的析构函数就要销毁句柄,问题出现了。提示框:User breakpoint called from code at 0x7c92129e。调试信息中出现信息HEAP[TestCView.exe]: Invalid Address specified
to RtlValidateHeap( 00380000, 0012FE30 )。从这此信息我们当然知道肯定是指针或句柄不存在,有可能是被删除了,也有可能就是没创建,本例中就是没有创建而造成了很大的麻烦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: