mfc/Ribbon的停靠窗关闭后再也找不到的问题解决方法
2018-03-09 16:15
323 查看
mfc基于office,Ribbon的停靠窗关闭后再也找不到的问题
网上看到的几种方法:
1去掉停靠窗口右上角关闭按钮,
m_ourPane.SetControlBarStyle(~AFX_CBRS_CLOSE)
去掉停靠窗的关闭按钮后,看似解决了问题,但是在调整停靠窗布局的时候,如果将两个停靠窗放到一起,关闭按钮又显示出来了,一旦关掉又没法弄了,无语啊
2消除停靠位置,存储记忆功能
在CMainFrame中,CreateDocablePane之前,调用CMainFrame::EnableLoadDockState(FALSE);
弊端:仍不能立即打开关掉的停靠窗;可以在下次打开的时候显示停靠窗,但是位置已经不是你调整好的了
我使用的方法:动态的控制停靠窗的显示隐藏,完美解决了这个问题,效果类似于word上的文档结构图
m_MyDockPane.ShowPane(FALSE, FALSE, FALSE);
和m_MyDockPane.ShowPane(TRUE, TRUE, TRUE);
步骤1,建立好停靠窗,在CMainFrame类中定义对象CDock... m_MyDockablePane
步骤2,Ribbon上添加一个checkBox
步骤3,checkBox添加Command事件和UPDATE_COMMAND_UI事件
步骤4,写入代码
//checkBox的COMMAND事件
void CMainFrame::OnChkDockfind()
{
if (m_MyDockablePane.IsWindowVisible())
{
m_MyDockablePane.ShowPane(FALSE, FALSE, FALSE);
}
else
{
m_MyDockablePane.ShowPane(TRUE, TRUE, TRUE);
}
}
//checkBox的UPDATE_COMMAND_UI事件
if (m_MyDockablePane.IsWindowVisible())
{
pCmdUI->SetCheck(TRUE);
}
else
{
pCmdUI->SetCheck(FALSE);
}
如果还有疑问可以联系我:微信号13524191382
mfc基于office,Ribbon的停靠窗关闭后再也找不到的问题
网上看到的几种方法:
1去掉停靠窗口右上角关闭按钮,
m_ourPane.SetControlBarStyle(~AFX_CBRS_CLOSE)
去掉停靠窗的关闭按钮后,看似解决了问题,但是在调整停靠窗布局的时候,如果将两个停靠窗放到一起,关闭按钮又显示出来了,一旦关掉又没法弄了,无语啊
2消除停靠位置,存储记忆功能
在CMainFrame中,CreateDocablePane之前,调用CMainFrame::EnableLoadDockState(FALSE);
弊端:仍不能立即打开关掉的停靠窗;可以在下次打开的时候显示停靠窗,但是位置已经不是你调整好的了
我使用的方法:动态的控制停靠窗的显示隐藏,完美解决了这个问题,效果类似于word上的文档结构图
m_MyDockPane.ShowPane(FALSE, FALSE, FALSE);
和m_MyDockPane.ShowPane(TRUE, TRUE, TRUE);
步骤1,建立好停靠窗,在CMainFrame类中定义对象CDock... m_MyDockablePane
步骤2,Ribbon上添加一个checkBox
步骤3,checkBox添加Command事件和UPDATE_COMMAND_UI事件
步骤4,写入代码
//checkBox的COMMAND事件
void CMainFrame::OnChkDockfind()
{
if (m_MyDockablePane.IsWindowVisible())
{
m_MyDockablePane.ShowPane(FALSE, FALSE, FALSE);
}
else
{
m_MyDockablePane.ShowPane(TRUE, TRUE, TRUE);
}
}
//checkBox的UPDATE_COMMAND_UI事件
if (m_MyDockablePane.IsWindowVisible())
{
pCmdUI->SetCheck(TRUE);
}
else
{
pCmdUI->SetCheck(FALSE);
}
如果还有疑问可以联系我:微信号13524191382
相关文章推荐
- "Explorer.EXE 遇到问题需要关闭"的解决方法
- [Tips]OSG程序在MFC下报内存泄漏问题的解决方法
- 关于MOSS创建SSP时出现找不到 Windows NT 用戶或組 "'域\administrator"问题的解决方法
- windows命令行下随时随地调用csc编译器的方法(解决dos下编译.net程序找不到CSC的问题)
- 解决Visual Studio 2005中找不到MFC80UD.dll的问题
- 解决Visual Studio 2005中找不到MFC80UD.dll的问题
- 解决Visual Studio 2005中找不到MFC80UD.dll的问题
- Office2003找不到SKU011.CAB问题解决方法
- linux 下关闭防火墙方法和单向ping通问题之解决
- Windows 7安装MSN问题,关闭后主窗口停留在任务栏中解决方法
- 编译.NET项目提示“找不到系统命名空间,请添加系统组件的引用”问题的解决方法(该组件已被该项目正确引用)
- 使用U盘PE安装系统,显示安装程序无法重新启动计算机,请关闭所有应用程序并且关机,以便继续进行XP安装。找不到网络路径。的解决方法
- 自己遇到的"Microsoft Management Console遇到问题需要关闭,我们对此引起的不便表示抱歉……"问题的解决方法
- ogre 1.6和mfc 的debug new冲突问题的白痴解决方法。。
- 解决VS2005中的MFC80UD.dll找不到的问题分类:
- 解决Visual Studio 2005中找不到MFC80UD.dll的问题
- windows命令行下随时随地调用csc编译器的方法(解决dos下编译.net程序找不到CSC的问题)
- 解决Office2003找不到SKU011.CAB问题方法
- WinServer2003 Computer Browser服务每隔一段时间自动关闭问题解决方法
- fc6下找不到Qt assistant的问题的解决方法