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 )。从这此信息我们当然知道肯定是指针或句柄不存在,有可能是被删除了,也有可能就是没创建,本例中就是没有创建而造成了很大的麻烦。
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 )。从这此信息我们当然知道肯定是指针或句柄不存在,有可能是被删除了,也有可能就是没创建,本例中就是没有创建而造成了很大的麻烦。
相关文章推荐
- VC基于对话框使用状态栏方式(state bar)
- vc中对话框使用技巧集合
- 解决RedrawWindow()刷新界面出现闪烁的问题, VC对话框界面使用InvalidateRect刷新局部
- VC对话框使用OnEraseBkgnd函数位图背景并透明
- VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数)及对话框使用位图背景并透明
- VC中目录选择对话框的使用
- VC对话框使用OnEraseBkgnd函数位图背景并透明
- VC的文件操作和文件对话框使用
- VC对话框自带滚动条的使用
- VC颜色列表的对话框的使用_CColorDialog(转)
- vc6工程以及与vs2010下的vc2010之间的对话框资源复制使用
- vc中对话框使用技巧集合(上)
- View和Control的区别(如何在对话框上使用CView类)
- 使用vc打开目录选择对话框
- VC对话框程序如何使用chtmlview
- VC 使用Windows 系统风格的对话框及控件
- VC中实现按钮提示,使用CToolTipCtrl2007年01月23日 星期二 20:09如果你需要对对话框上的一个按钮进行鼠标停靠提示,那么这么做:
- VC学习资料收集(19):使用通用对话框
- VC:对话框中菜单的使用(WM_INITMENUPOPUP)
- VC++ 对话框下使用工具栏