我有一个MFC SDI应用程序,其中包含一系列视图,我可以根据在另一个视图中选择的列表项的类型在运行时切换。因为它们是动态创建的,所以它们需要一个空的构造函数,因此我无法传递初始值以使用所选项目中的数据填充视图的字段。我想过使用SendMessage向视图发送消息,wParam或lParam是指向所选项目的指针,但这似乎不是很好的文档/视图分离,因为我的视图现在必须知道我的成员文件对象。我太挑剔了吗?如果没有,还有其他建议吗?
答案 0 :(得分:2)
也许SendMessage
只能将<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?