|||
VC也可以像C#一样实现可视化的MDI窗体设计
Captain Dialog 2009-06-20
1 问题描述
最近忙着VC6.0编程的过程中发现要在MDI中实现类似于C#的MDI中的各个Form那样可视化的界面设计实在麻烦。但是在VC6.0中MFC同样是提供了对可视化的设计,也有一些基本的控件可以使用,但就是必须建立基于对话框类型的工程才可以使用。后来发现在MDI工程中,同样可以建立起基于对话框的子窗体。
中文参考: 将对话框做为MDI子窗口 http://www.vckbase.com/code/listcode.asp?mclsid=5&sclsid=505
英文参考: Creating a View on a Dialog http://www.codeguru.com/cpp/cpp/cpp_mfc/
开始分析半天源代码,由于对MFC框架并不是十分的熟悉,加上VC编程时间不长,走了很大的弯路,结果发现要实现我需要的功能其实可以很简单。
2 实现基于对话框的MDI子窗体
要实现MDI子窗体的创建就需要了解MFC的框架,对于基本的框架学习可以参见深入分析MFC文档视图结构(项目实践)http://blog.csdn.net/Wendysuly/archive/2008/12/31/3659011.aspx
Step1 插入一个对话框资源,并按照自己的需要进行窗体设计。
Step2 为该对话框建立一个类,注意,此时建立的MFC类应该选择CFormView为基类,并可以重载相关函数(此处不用)。
Step3 在工程的App函数中,找到Instance函数,将重载的类视图(即继承于CFormView的对话框类)添加进去,替代原有的类视图。
这样就可以实现基于对话框的MDI子窗体:
3 实现意义
有了这样的一个MDI框架,就使得在VC上面的可视化界面程序设计变得可行了,以前用习惯了C#的高效率开发,碰到VC还真是有点不习惯。但是VC的运行速度的确比C#的快,有了这样的框架,就可以再一定程度上提高VC的开发效率。如建立一个简单的按钮事件是相当的容易了,基本上和C#没有差别。
拖一个控件,双击进行代码编辑:
运行效果就出来了。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-2 00:20
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社