0

我有一个带有一系列视图的 MFC SDI 应用程序,我可以根据在另一个视图中选择的列表项的类型在运行时切换这些视图。因为它们是动态创建的,所以它们需要一个空的构造函数,所以我不能传入初始值来使用来自所选项目的数据填充视图的字段。我考虑过使用 SendMessage 向视图发送消息,其中 wParam 或 lParam 作为指向所选项目的指针,但这似乎不是很好的文档/视图分离,因为我的视图现在必须知道我的成员文档对象。是我太挑剔了吗?如果没有,还有其他建议吗?

4

1 回答 1

2

也许SendMessage可以将 a 传递<type-of-list>View并且视图可以调用文档中的函数,该函数返回视图所需的字段,例如

// define structure/class VIEWFIELDS which contain the items required by the View
VIEWFIELDS ViewFields;
nNextItem = 0;
nNextItem = pDoc->GetNextItem(nListType, nNextItem, &ViewFields);

直到函数返回-1?

于 2013-08-09T17:05:19.850 回答