c++ - 使用文档/ View 分离 (MFC) 填充组合框

标签 c++ mfc

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

最佳答案

也许是 SendMessage可以通过 <type-of-list>View并且 View 可以调用文档中的函数,该函数返回 View 所需的字段,例如

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

直到函数返回-1?

关于c++ - 使用文档/ View 分离 (MFC) 填充组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18150821/

相关文章:

c++ - find_last_of 用于字符串末尾的双引号

c++ - 与 MFC 集成的报表生成器

c++ - MFC 应用程序在启动时关闭

c++ - 窗口未最大化时丢失 WM_NCLBUTTONUP 消息的奇怪问题

multithreading - 如何知道代码是在 ui 线程还是工作线程上运行 (MFC Visual C++)

c++ - 不能长疙瘩

C++ 模板类类型作为参数转发给对象的模板函数

c++ - 没有明显 nullptr 的访问冲突

c++ - 初始化列表和 const& - 这是合法的 C++

c++ - #undef C++ 的作用域