经典与现代的结合:在MFC中集成RAD .NET框架
日期:2007年6月24日 作者: 查看:[大字体 中字体 小字体]-
void CUserCtrlView::SetControl(
System::Object *control
)
{
m_Control.pUnkControl =
reinterpret_cast
(System::Runtime::InteropServices::
Marshal::GetIUnknownForObject(
control).ToPointer());
CRect clientRect;
GetClientRect(&clientRect);
CLSID clsid =
{ 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0, 0 } };
m_Control.CreateControl(
clsid, 0, WS_VISIBLEWS_CHILD,
clientRect, this, 0);
m_Control.ModifyStyleEx(
0, WS_EX_CONTROLPARENT);
}
CUserCtrlView的OnInitialUpdate代码如下:
void CUserCtrlView::OnInitialUpdate()
{
if(!m_bCtrlCreated&&m_strWinCtrlID!=_T(""))
{
Type *t =
theApp.m_pManagedCnnObj->GetType();
MethodInfo *mi = t->GetMethod(S"Connect");
Object *p[] = new Object*[2];
try
{
Object *pObj = NULL;
String *pString[] = new String*[1];
pString[0] = m_strWinCtrlID;
PropertyInfo *m_pPropertyInfo =
t->GetProperty(S"PrjItem");
pObj = m_pPropertyInfo->GetValue(
theApp.m_pManagedCnnObj,pString);
if(pObj)
{
p[0] = pObj;
p[1] = pString[0];
//?????o
mi->Invoke(
theApp.m_pManagedCnnObj, p);
SetControl(pObj);
m_bCtrlCreated = true;
}
}
catch (Exception *exp)
{
CString strInfo = exp->Message;
AfxMessageBox(strInfo);
return;
}
}
CView::OnInitialUpdate();
}
现在,你可以在MFC程序中创建.NET控件了,我们的第一个宿主.NET控件的程序运行结果如图:
(图6:运行时.NET控件)
检索.NET用户控件
一个MFC应用中可能包含多个UserControl,这些控件一般以动态链接库的形式存在。由于.NET控件一般不在全局注册,因此,.NET程序需要一种组件检索机制,使得它们能够正确的发现运行时用到的组件。.NET框架支持为每一个应用程序提供一个XML格式的配置文件,配置文件的名称是:“程序名.exe.config”,例如,名为 test.exe 的应用程序的配置文件为:test.exe.config,配置文件相当于局部的注册表,该文件必须与可执行文件位于同一个目录中。开发者可以在这个文件中更改、保存程序的设置,设置程序集绑定策略和其他的应用程序配置信息。.NET框架提供了专门的类以帮助开发人员操作该文件。下面是一段典型的配置文件片段: - 上一页 [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# 编码规范和编程好习惯
