如何将 CMFCListCtrl 与 CListView 一起使用?
我想在我的 CListView 类中使用新的 CMFCListCtrl 功能(当然,还有其中的新 CMFCHeaderCtrl)。 遗憾的是,您不能使用 Attach() 或 SubclassWindow(),因为 SysListView32 窗口已与 CListView 对象关联。
我是否必须重写 CListView 的 OnCmdMsg() 并将所有消息路由到我自己的 CMFCListCtrl 实例? (这会起作用吗?)或者有更简单/更干净的解决方案吗?
I'd like to use the new CMFCListCtrl features with my CListView class (and, of course, the new CMFCHeaderCtrl inside it). Unfortunately, you can't use Attach() or SubclassWindow() because the SysListView32 window is already associated with a CListView object.
Do I have to override CListView's OnCmdMsg() and route all messages to my own instance of CMFCListCtrl? (Will that even work?) Or is there an easier/cleaner solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我将从 CFormView 继承,并让 CMFCListCtrl 占据表单视图的完整对话框。
I'd inherit from CFormView and let the CMFCListCtrl occupy the complete dialog of the form view.
如果您想要自己的 CMFCHeaderCtrl (从 CMFCHeaderCtrl 派生的 m_myHeaderCtrl),您必须在自己的 CMFCListCtrl 中重写这三个函数。
现在,您可以在自己的 myHeaderCtrl 中完全响应,定义更多函数
(标题中有多行):
定义您自己的布局。
或通过MFC 代码中的示例
If you want your own CMFCHeaderCtrl (f.e. m_myHeaderCtrl derived from CMFCHeaderCtrl) you have to override these three functions in your own CMFCListCtrl
Now you have the full responce in your own myHeaderCtrl defining some more functions
(f.e. multipe lines in header):
or defining your own layout by
Examples are in the MFC-Code.
CListView 没有很多功能。 就像您在上面的评论中所说的那样,只需从 CView 派生您自己的视图类,处理 WM_SIZE 来调整 CMFCListCtrl 的大小即可。
CListView doesn't have a lot of functionality. Like you said in the comment above, just derive your own view class from CView, handle WM_SIZE to resize the CMFCListCtrl and you're good to go.