MouStudio分享 http://blog.sciencenet.cn/u/moustudio 一目半行,再目半行

博文

Captain Dialog 2009-06-20 VC也可以像C#一样实现可视化的MDI窗体设计

已有 7606 次阅读 2009-6-20 19:22 |个人分类:编程笔记|系统分类:科研笔记| MDI窗体, 对话框子窗体, 可视化编程

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#没有差别。

拖一个控件,双击进行代码编辑:



运行效果就出来了。 





https://blog.sciencenet.cn/blog-244606-239328.html

上一篇:Captain Dialog 2009-06-14 二维建模小软件
下一篇:Captain Dialog 2009-07-05 安装部署C#自定义控件到VS2008工具箱
收藏 IP: .*| 热度|

1 王立

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-2 02:23

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部