Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mfc 如何将一个CFormView嵌入到另一个CFormView中_Mfc - Fatal编程技术网

Mfc 如何将一个CFormView嵌入到另一个CFormView中

Mfc 如何将一个CFormView嵌入到另一个CFormView中,mfc,Mfc,我有几个表单有公共部分,我想把它们拉到自己的资源中。基本上,我正在寻找一种方法,将CFormView制作成一个windows控件,我可以将它插入到另一个CFormView中。您可以从同一个资源模板创建一个无模式对话框,并在表单视图中创建它。这意味着您需要重构代码,以便可以在对话框和原始表单视图之间重用事件处理程序 CFormView希望它的父对象是一个框架。要删除该依赖项,需要覆盖引用父框架的所有函数,这是一项繁琐的工作,每个版本的MFC都可能引入引用父框架的新函数。您不也嵌入cFormView

我有几个表单有公共部分,我想把它们拉到自己的资源中。基本上,我正在寻找一种方法,将CFormView制作成一个windows控件,我可以将它插入到另一个CFormView中。

您可以从同一个资源模板创建一个无模式对话框,并在表单视图中创建它。这意味着您需要重构代码,以便可以在对话框和原始表单视图之间重用事件处理程序


CFormView希望它的父对象是一个框架。要删除该依赖项,需要覆盖引用父框架的所有函数,这是一项繁琐的工作,每个版本的MFC都可能引入引用父框架的新函数。

您不也嵌入cFormView的框架吗?这将需要相同的工作量,基本上框架不希望父框架不是MDI框架。要改变这一假设,需要覆盖许多函数。它可能需要在线程状态、浮动窗口通知、键盘导航、菜单合并、视图窗口激活和打印预览等方面进行额外的工作。MFC中有很多代码跳转到主框架的GetToLevel父级或GetToLevel框架,而不是调用GetParentFrame。