WEB开发网
开发学院软件开发VC 在MFC中集成RAD .NET框架 阅读

在MFC中集成RAD .NET框架

 2007-06-21 21:36:15 来源:WEB开发网   
核心提示: (图4:MFC框架中ActiveX控件的创建)我们知道,MFC是通过COleControlSite类创建ActiveX控件的,在MFC中集成RAD .NET框架(4),由于针对用于ActiveX控件的COleControlSite类不适用于.NET控件,因此必须重新派生一个新类CWFCon

(图4:MFC框架中ActiveX控件的创建)

我们知道,MFC是通过COleControlSite类创建ActiveX控件的,由于针对用于ActiveX控件的COleControlSite类不适用于.NET控件,因此必须重新派生一个新类CWFControlSite来提供必要的支持,通过一个CWFControlWrapper类将一个.NET控件包装在一个CWnd窗体中,并将包装后的窗体“安置”在CWFControlSite内。CWFControlWrapper类代码如下:

class CWFControlWrapper : public CWnd
{
public:
  CWFControlWrapper();
  virtual ~CWFControlWrapper(void);
  IUnknown *pUnkControl;
  IUnknown *GetManagedControl()
  {
    return pUnkControl;
  }
  void SetControlSite(COleControlSite *pSite)
  {
    m_pCtrlSite = pSite;
  }
};

下一步,要设计一个通用的CUserCtrlView类(从CView类派生),使得在CWFControlSite中指定的.NET控件可以像在COleControlSite中指定的ActiveX控件一样显示给用户。正象每个ActiveX控件必需用一个CWnd对象进行创建一样,一个支持.NET控件的CView类需要一个对应的CWnd对象,CWFControlWrapper就是针对这个目的设计的,通过CWFControlWrapper对象,MFC程序可以得到.NET对象对应的IUnknow、IDispatch。稍后我们介绍CUserCtrlView类的具体设计和使用方法。

(图5:MFC框架中.NET控件的创建)

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:MFC 集成 RAD

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接