MFC:我们怎样才能轻松地从 CTreeCtrl 切换到 CTreeView?
Posted
技术标签:
【中文标题】MFC:我们怎样才能轻松地从 CTreeCtrl 切换到 CTreeView?【英文标题】:MFC: How can we switch from CTreeCtrl to CTreeView easly? 【发布时间】:2020-06-10 11:00:51 【问题描述】:我有一个图形 MFC 应用程序,它在历史上是使用 CTreeCtrl
开发的。
我想添加一个CSplitterWnd
来改进它的图形界面。但是,我发现 CTreeCtrl 与 CSplitterWnd 不兼容。显然我必须使用CTreeView
。
CSplitterWnd m_wndSplitter;
// Runtime error on CreateView
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(myCTreeCtrl),CSize(100,100),pContext))
我的问题:
如果我切换到CTreeView
,我必须开发很多功能(例如:SelectItem)
问题:
如何轻松地从 CTreeCtrl
切换到 CTreeView
?
或者我可以在CFormview
中插入一个ctreectrl
,而不是CtreeView
?
【问题讨论】:
我认为你在这里走错了路。另外我认为如果你真的想要并且做得对,你可以将 ctreectrl 添加到拆分器。要改进 UI,请尝试使用模板项目。 @darune 好的,谢谢。我会更加坚持使用CTreeCtrl
【参考方案1】:
CTreeView
类有成员函数CTreeCtrl& GetTreeCtrl() const
。替换所有出现的
SelectItem(foo);
通过
GetTreeCtrl().SelectItem(foo);
【讨论】:
以上是关于MFC:我们怎样才能轻松地从 CTreeCtrl 切换到 CTreeView?的主要内容,如果未能解决你的问题,请参考以下文章