经典与现代的结合:在MFC中集成RAD .NET框架
日期:2007年6月24日 作者: 查看:[大字体 中字体 小字体]-
#pragma once
...
namespace test
{
public __gc class testControl :
public System::Windows::Forms::UserControl
{
public:
testControl(void)
{
InitializeComponent();
}
protected:
void Dispose(Boolean disposing)
{
if(disposing && components)
components->Dispose();
__super::Dispose(disposing);
}
private:
System::Windows::Forms::Label *label1;
System::ComponentModel::Container
*components;
void InitializeComponent(void)
{
this->label1 = new
System::Windows::Forms::Label();
this->SuspendLayout();
this->label1->Location =
System::Drawing::Point(16, 24);
this->label1->Name = S"label1";
this->label1->Size =
System::Drawing::Size(208, 16);
this->label1->TabIndex = 0;
this->label1->Text =
S"Welcome to TZ MFC.NET!";
this->Controls->Add(this->label1);
this->Name = S"testControl";
this->Size =
System::Drawing::Size(240, 160);
this->ResumeLayout(false);
}
};
}
注意,testControl类继承自UserControl类,用户控件是开发者创建的任何控件,您可以将多个.NET控件组织在一起,添加功能代码,然后把它作为一个更综合一些的控件来使用,使用每一个用户控件和使用其他的.NET标准控件的步骤都是没有区别的在上面的代码中,我们自定义的用户控件仅包含了一个.NET Label控件。
到目前为止,我们已经可以在原生MFC项目中成功插入.NET控件。然而,因为上面的.NET控件的插入是纯手工方式的,不直观且很难驾驭,一个聪明的办法是实现一个集成在Visual Studio .NET IDE中的Wizard,以使得MFC工程中可以直接使用可视设计器,在随机光盘中,我们提供了相关的Wizard,安装后您就可以直接在MFC项目中插入并可视化设计.NET用户控件了。
通过集成的Wizard,传统的MFC可以与现代的.NET RAD机制完美的结合在一起,使得你既可以得到传统C++的优雅,又可以享有现代RAD机制的风韵,对资源的整合力度也极大地扩展了。
使用CUserCtrlView类创建、显示.NET控件
我们为每个MFC文档类增加一个与之对偶的托管对象类,从而得到了一对对偶对。这个与MFC文档对偶的托管对象维护一个托管对象字典,每一个需要在文档中创建的托管控件会根据一个别名添加到这个字典中备查。当文档对象被实例化的时候,其对偶的托管对象也将被实例化,而且有待创建的控件也会被实例化并插入到相关的字典中,同时该对偶托管对象被传递给MFC应用程序对象中的指针变量m_pManagedCnnObj,CUserCtrlView类在调用OnInitialUpdate时,会通过全局变量theApp得到m_pManagedCnnObj,m_pManagedCnnObj就是与MFC文档对偶的托管对象,然后用.NET机制根据别名检索从m_pManagedCnnObj得到所要创建的控件的实例,之后调用SetControl函数将该控件创建出来: - 上一页 [1] [2] [3] [4] [5] [6] 下一页
-
- 经典与现代的结合:在MFC中集成RAD .NET框架 相关文章:
- ·学习CSS制作网页的多个经验技巧
- ·学习CSS制作网页总结的一些经验技巧
- ·经典:交换机故障检测检查表
- ·网站优化的几个好经验
- ·漂亮MM经典时尚服饰设计
- ·回忆曾经的童年 纯朴天真的画面
- ·站长的视频建站时代 离你已经不远了
- ·简洁优雅 大牌经典女装设计欣赏
- ·腾讯 TM2008 Preview3 已经发布
- ·EFS加密技术的概念分析及一次解密经过
- 经典与现代的结合:在MFC中集成RAD .NET框架 相关软件
- ·经典回顾《三国群英传2》
- ·冠军足球经理2007试玩
- ·《极品飞车2》dos经典怀旧试玩
- ·超级经典CS作弊器
- ·FC任天堂红白机中文模拟器+经典游戏大集合试玩
- ·怀旧经典《大航海时代2》模拟器下载
- ·经典回顾:决战世界之巅—Moon 3:2胜Grubby录象
- ·经典街机游戏《黑色封印》模拟器
- ·经典街机游戏《恐龙岛》模拟器
- ·回味经典《星际争霸:母巢之战》开场动画
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:C/C++头文件一览
下一篇:C++:谁动了我的指针
精品推荐
热点TOP10
- ·用c#监控网络流量
- ·C#编写的windows计算器-源代码
- ·飞机订票系统设计
- ·C/C++笔试、面试题目大汇总
- ·《俄罗斯方块》程序编写详解
- ·Windows API-GDI入门基础知识详解(2)
- ·socket编程原理
- ·打字游戏
- ·七年IT奋斗纪实及感悟
- ·C #中的几个线程同步对象方法
- ·牛顿和拉格朗日插值算法
- ·VC++动态链接库编程之MFC扩展 DLL
- ·C# 操作文件
- ·如何用C#编写文本编辑器
- ·c#操作word表格
- ·编程特例篇——LOGO语言
- ·Raw Socket(原始套接字)实现Sniffer(嗅探)
- ·无废话C#设计模式之九:Proxy
- ·C#编程中的 New 关键词的几种用法
- ·实战开发 C# 索引器学习笔记
特别推荐
- ·C#程序开发中的常用函数汇总
- ·C#数据库操作的三种经典用法
- ·C/C++笔试、面试题目大汇总
- ·Beej的网络socket编程指南
- ·socket编程原理
- ·C语言的常用库函数使用方法分析及用途
- ·在C语言中如何处理时间和日期
- ·C++设计模式之Singleton
- ·VC++动态链接库编程之MFC扩展 DLL
- ·TCP/IP网络重复型服务器通信软件的设计
- ·DirectX游戏开发入门
- ·经典与现代的结合:在MFC中集成RAD .NET框架
- ·Windows API-GDI入门基础知识详解(2)
- ·Visual C++ 入门精解
- ·C#基础概念二十五问
- ·用C#实现pdf文件的完整性验证
- ·成为嵌入式程序员应知道的0x10个问题
- ·TCP/IP编程实现远程文件传输
- ·几个C#编程的小技巧
- ·C# 编码规范和编程好习惯
