如何在MFC的对话框调用CLR控件
答案:1 悬赏:0 手机版
解决时间 2021-02-02 17:47
- 提问者网友:富士山上尢
- 2021-02-02 11:53
如何在MFC的对话框调用CLR控件
最佳答案
- 五星知识达人网友:十鸦
- 2021-02-02 12:10
我们新版本的数据库应用程序目前完全使用VC开发,在我们目前这个小城市里,寻找一个好的VC开发人员实在是不容易,因此,在很早以前,我就开始考虑是否能够通过VC与.NET混合编程,从而在人员招聘上找到更合适的程序员的机会更多一些。我非常高兴的发现VisualStudio2005为我们提供了这样的机会,MFC可以非常方便的调用VB.NET 、C#或其他CLR语言编写的代码,因此我们可以广泛的使用.NET语言编写一些控件,从而提高我们产品的开发效率。
当然,使用VC开发一个大型的数据库应用程序似乎不多见,在处理数据库方面,VB,C#,DELPHI,JAVA都比VC具有优势,我们之所以选择VC开发数据库程序,一是由于我们产品主要是面向医学图像处理,视频处理和视频传输,必须使用VC,公司所有的开发人员都熟悉VC;二是看好了VC开发环境更适合面向对象的方式思考问题,我们大多数人员都通过VC的class view工作,VC的文档视图结构更适合随需应变的数据库管理程序,三是C++具有很多优秀的模板库和更好的泛型设计,关键时候会解决大问题。
下面的一些文字摘自MSDN,介绍了在MFC中如何调用.NET编写的控件。例子中的控件不仅仅适用于用户自定义控件,也可以使用.NET中内置的各种标准控件,例如,我们可以在MFC的对话框中直接调用.Net FrameWork中的TreeView控件。在对话框的头文件中定义一个变量CWinFormsControl m_Tree;在CPP文件的DoDataExchange中增加DDX_ManagedControl(pDX, IDC_TREE, m_Tree);代码
void CVCDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_ManagedControl(pDX, IDC_CTRL1, m_ctrl1);
DDX_ManagedControl(pDX, IDC_TREE, m_Tree);
}
这样在对话框的初始化函数中可以往TreeView中添加节点了:
TreeNode ^ trRoot=m_Tree.GetControl()->Nodes->Add("根节点");
TreeNode ^ trChild=trRoot->Nodes->Add("第一个子节点");
运行应用程序,可以看到对话框中显示了添加的树控件和两个节点。
当然,使用VC开发一个大型的数据库应用程序似乎不多见,在处理数据库方面,VB,C#,DELPHI,JAVA都比VC具有优势,我们之所以选择VC开发数据库程序,一是由于我们产品主要是面向医学图像处理,视频处理和视频传输,必须使用VC,公司所有的开发人员都熟悉VC;二是看好了VC开发环境更适合面向对象的方式思考问题,我们大多数人员都通过VC的class view工作,VC的文档视图结构更适合随需应变的数据库管理程序,三是C++具有很多优秀的模板库和更好的泛型设计,关键时候会解决大问题。
下面的一些文字摘自MSDN,介绍了在MFC中如何调用.NET编写的控件。例子中的控件不仅仅适用于用户自定义控件,也可以使用.NET中内置的各种标准控件,例如,我们可以在MFC的对话框中直接调用.Net FrameWork中的TreeView控件。在对话框的头文件中定义一个变量CWinFormsControl
void CVCDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_ManagedControl(pDX, IDC_CTRL1, m_ctrl1);
DDX_ManagedControl(pDX, IDC_TREE, m_Tree);
}
这样在对话框的初始化函数中可以往TreeView中添加节点了:
TreeNode ^ trRoot=m_Tree.GetControl()->Nodes->Add("根节点");
TreeNode ^ trChild=trRoot->Nodes->Add("第一个子节点");
运行应用程序,可以看到对话框中显示了添加的树控件和两个节点。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯