MFC CDockablePane启动后关闭CDockablePane,如何再次跳出CDockablePane

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC CDockablePane启动后关闭CDockablePane,如何再次跳出CDockablePane相关的知识,希望对你有一定的参考价值。

简单的说CDockablePane启动后叉叉按钮关闭它,之后再想调出它貌似不行了,m_panel.ShowPane(TRUE,FALSE,TRUE)话说这个试过出不来,就是在onCreat中添加这句出不来,请大哥们赐教....
好吧,这年把,已经习惯了自问自答了..........
揭晓答案:其实之前说的m_panel.ShowPane(true,false,true);这句确实是可以实现显示的,之前提问的时候我也有怀疑所以有强调说代码是放在oncreate里面,问题现在确认了就是放在oncreate里面的原因,也就是说代码太前来,窗体未加载成功就进行设置所以无效.可以将代码放在load里面一切就OK了。

楼主说的对,确实是窗体还未加载成功,就进行设置的缘故,放在Load里面一切就迎刃而解了...
m_panel.EnableAutohideAll();
m_panel.EnableGripper(true);
m_panel.SetAutoHideMode(true, CBRS_ALIGN_LEFT);
m_panel.ShowPane(true,false,true);
m_panel.Slide(true);
参考技术A EnableLoadDockState(FALSE); //消除存储记忆
在create之前

将标尺添加到 MFC 应用程序中的 CDockablePane

【中文标题】将标尺添加到 MFC 应用程序中的 CDockablePane【英文标题】:Add rulers to a CDockablePane in a MFC Application 【发布时间】:2011-09-22 22:21:30 【问题描述】:

我应该如何在 o CDockablePane 中添加标尺? (像these 或these 这样的统治者)

我在网上找到了两种标尺控制器的实现,但都是使用 CView 派生类制作的,而且由于我需要将标尺放在可停靠窗格中,因此我无法使用它们。

我听说过两种“策略”:(1) 创建一个从 CDockablePane 派生的特殊类,然后从中派生控制器的类(在这种情况下很难做到)或 (2) 在内部创建一个 CFrameWnd包含控制器的可停靠窗格,看起来很容易做到,但可能会不必要地增加项目的复杂性。

我该怎么办?我该怎么做?还有其他选择吗?谁能给我看一个小例子(也许只是重要的部分)?

我已经看到的:

How can I split a CDockablePane?

How can I place a MFC CFormView inside a CDockablePane?

由于我是新用户,我不允许在此处发布其他一些链接。

(但 CFormView 不是 CFrameWnd)

PS:请告诉我会遇到什么问题、细节、MFC 特性...

PS2:我不想要 BCGsoft 页面的链接,因为我相信他们不提供任何代码,只提供可执行文件(对我没有任何用处)。

谢谢

【问题讨论】:

【参考方案1】:

我认为你从http://www.codeproject.com/Articles/187/Implementing-Rulers-inside-of-Splitter-Panes开始会更容易

我已经在How can I split a CDockablePane?发布了一个可能对你有用的答案

【讨论】:

以上是关于MFC CDockablePane启动后关闭CDockablePane,如何再次跳出CDockablePane的主要内容,如果未能解决你的问题,请参考以下文章

MFC:是不是有事件检测 CDockablePane 派生窗口何时通过滑出或显示打开?

MFC CView 进入 CDockablePane

获取 MFC CDockablePane 停靠的停靠区域

将标尺添加到 MFC 应用程序中的 CDockablePane

在mfc对话框工程中,如何使用CDockablePane。另外,在单文档工程中,能否做出一个视频播放器

MFC “DockPane”: 找不到标识符 求解(CDockablePane的)