用Visual C++中实现混合分割视图
2008-11-13 19:31:39 来源:WEB开发网在图像处理等多窗口应用程序中,通常要在屏幕上同时显示若干个窗口,以显示进行图像处理前和处理后的图像信息,或者在每个窗口中分别显示图像的细节和概貌。为了实现上述功能,可以采用MDI的多文档模式进行处理,但是多文档的程序设计和维护相对单文档应用程序而言相对复杂,而且如果要在屏幕上同时显示窗口,通常要调用窗口重叠函数进行管理,窗口的位置也往往需要用鼠标人为设定,过多的人为干预也降低了程序使用的效率。因此,对于某些应用程序,如果能够用分割视图来实现屏幕绘图和显示,无疑会降低程序使用者的操作强度,显示更加直观和方便。
本文介绍了一种混合分割视图的实现方法,即在Visual C++中,同时出现基于CView类的普通视图和基于CFormView类的窗体视图,且视图之间存在着二次(或多次)再分割,即视窗里面又包含视窗,如图所示为要涉设计的界面形式。
界面内共含有一个框架和五个视窗,视窗Left、视窗Right、视窗Zoom、视窗Control和视窗 Info。视窗Left、 Right和 Zoom分别显示左右图像窗口的图像和经过高倍放大后的图像,这几个视窗的基类都是CView;视窗Control用来 进行仪器控制和图像操作,视窗Info用来显示系统的当前信息和工作进程和状态,这两个视窗都从CFormView派生出来。
为了实现上述功能,首先用AppWizard生成一单文档应用程序,并自定义生成的默认视类为CZoomView,用来显放大的图像。
接下来,通过如下步骤,创建另外四个视窗:
1、用ClassWizard为应用程序创建一个新类CFixedSplitter,基类为CMDIChildWnd,然后在该类中将所有CMDIChildWnd的地方替换为CsplitterWnd(因为ClassWizard不支持直接从CsplitterWnd类派生子类);
- ››实现基于OPhone 2.0的GTalk客户端
- ››实现可编辑下拉框的ComboBox asp.net控件方法
- ››实现AjaxPro的方法
- ››Visual Studio自定义调试窗体两个小技巧
- ››实现asp中htmlencode功能的jsp函数
- ››Visual Studio 2005 Team Edition for Database P...
- ››Visual C#两分钟搭建BHO IE钩子
- ››实现windows的负载均衡
- ››实现窄屏/宽屏的切换——给宽屏用户超值享受
- ››实现JSP数据和JavaScript数据交互使用
- ››Visual C++优化对大型数据集合的并发访问
- ››实现程序互斥运行的几种方法
更多精彩
赞助商链接