在 MFC 中拥有一个简单视图和一个拆分视图
Posted
技术标签:
【中文标题】在 MFC 中拥有一个简单视图和一个拆分视图【英文标题】:Have one simple view and one split view in MFC 【发布时间】:2014-11-20 15:24:32 【问题描述】:我有一个多视图 SDI 项目。必须拆分其中一个视图,可能使用 CSplitterWnd 或 CSplitterWndEx。但是其他视图不应该被拆分,也不应该有拆分按钮和滚动条。我使用 CSplitterWnd 和一些从它派生的类(我在网上找到)尝试了各种组合,但我无法得到我需要的东西。所以这里有限制:
一个视图是 CViewUnsplit,没有拆分器
第二个视图最初只显示 CViewSplitLeft
一个命令允许用户拆分/取消拆分以及添加或删除 CViewRight。
【问题讨论】:
您需要向我们展示您的尝试(在代码中)以及为什么它没有成功。 【参考方案1】:它应该以下列方式工作。
第一个是 CViewUnsplit 就是一个简单的 SDI 应用程序出现的方式。
只需交换视图即可轻松实现第二个切换视图。这是有据可查的。 此示例中显示了基础知识,其中包含两个视图 http://msdn.microsoft.com/en-us/library/s199bks0.aspx
第三个有点棘手。只需创建拆分器并将带有 SetParent 的 CViewSplitLeft 放入左侧拆分器部分。正确的视图可以始终留在拆分器中。同样在这里,拆分器只是隐藏在主窗口中。当您切换回另一个视图时,只需再次使用 SetParent 并将 CViewSplitLeft 移动到 CMainFrame。
始终只隐藏所有不需要的视图。 请注意示例中显示的视图的 ID。否则调整大小将不起作用。
【讨论】:
以上是关于在 MFC 中拥有一个简单视图和一个拆分视图的主要内容,如果未能解决你的问题,请参考以下文章