一种基于Managed C实现WPF窗体与GDI窗体消息互操作的方法技术

技术编号:8562846 阅读:242 留言:0更新日期:2013-04-11 04:28
本发明专利技术涉及一种基于Managed?C实现WPF窗体与GDI窗体消息互操作的方法,包括:采用Managed?c++创建一个GDI窗口,并提供相应的API,同时生成一个DLL;在WPF应用程序中定义一个派生自HwndHost的窗口类,在该窗口类将DLL提供的GDI作为其子窗口,并以委托方式实现GDI窗口中需要处理的消息。与现有技术相比,本发明专利技术具有适用范围广、扩展性好、操作方便等优点。

【技术实现步骤摘要】

本专利技术涉及一种界面制作相关技术,尤其是涉及。
技术介绍
WPF是基于DirectX技术的图形系统,利用硬件加速及图形向量渲染,从呈现效果及性能上大大改善了传统2D图形窗口用户体验,其完善的Ui架构能快速帮助程序开发出媲美Mac的酷炫界面。在WPF中,传统的窗口概念已发生了改变,窗口也是其渲染系统中一个普通的可视元素,并且与其它所有界面元素统一渲染,用户无法直接在这窗口区域绘制自己图形(因为一个区域只能用一种方式来渲染)。三维引擎或者其它的很多传统的应用程序,都是基于GDI的窗口句柄,截获其重绘消息,将自定义的渲染结果呈现在窗口上,并通过GDI的消息机制获取用户的输入,其中⑶I (Graphics Device Interface)为图形设备接口,其为Windows的子系统,负责在视讯显示器和打印机上显示图形。随着计算机硬件快速发展,用户对软件的体验要求越来越高,GDI窗口及相关的技术在开发用户图形界面上已渐渐显得力不从心。利用WPF提供HWNDH0ST技术,可以将⑶I窗口嵌入到wpf中应用程序中,在⑶I窗口区域实现自定义渲染,而在非GDI区域实现各种用好的图形界面。当前实现WP本文档来自技高网...

【技术保护点】
一种基于Managed?C实现WPF窗体与GDI窗体消息互操作的方法,其特征在于,包括:采用Managed?c++创建一个GDI窗口,并提供相应的API,同时生成一个DLL;在WPF应用程序中定义一个派生自HwndHost的窗口类,在该窗口类将DLL提供的GDI作为其子窗口,并以委托方式实现GDI窗口中需要处理的消息。

【技术特征摘要】
1.一种基于Managed C实现WPF窗体与⑶I窗体消息互操作的方法,其特征在于,包括 采用Managed c++创建一个⑶I窗口,并提供相应的API,同时生成一个DLL ;在WPF应用程序中定义一个派生自HwndHost的窗口类,在该窗口类将DLL提供的GDI作为其子窗口,并以委托方式实现⑶I窗口中需要处理的消息。2.根据权利要求1所述的一种基于ManagedC实现WPF窗体与GDI窗体消息互操作的方法,其特征在于,具体过程如下 a)采用c#定义一个派生自HwndHost的窗口类; b)采用Managedc++注册一个⑶I窗口,实现将· net程序传过来的委托函数转化为c++可处理的函数指针; c)判断是否注册成功,若为是,创建一个GDI窗口,并返回该窗口的句柄,执行步骤d),否则,返回步骤b); d)将⑶I窗口作为HwndHost类的子...

【专利技术属性】
技术研发人员:郑婉清林秀全张生言
申请(专利权)人:上海创图网络科技发展有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1