CDockablePane的隐藏显示问题
求助:我想要在MDI主框架的底部显示一个工具条,按F11的时候工具条交替显示或隐藏,即按F11时,如果工具条已隐藏则显示出来,如果已显示则隐藏起来,但是要求工具条是固定的,即显示的时候不能通过非按F11的途径隐藏掉,隐藏的时候也不能通过非按F11的途径显示出来
创建工具条:
F11的响应应该隐藏/显示工具条呢?我的代码如下:
问题是现在按F11的时候,隐藏掉工具条的时候把鼠标移动到屏幕左下方,工具条又出来了,显示工具条的时候,单击客户区域,工具条隐藏起来了。
创建工具条:
if (!m_CYBDockablePane.Create(
_T(""),
this,
CRect(0, 0, 10, 25),
FALSE,
IDD_DIALOG_FORMVIEW,
WS_CHILD | WS_VISIBLE | CBRS_BOTTOM | CBRS_HIDE_INPLACE| AFX_CBRS_FLOAT , AFX_CBRS_REGULAR_TABS, AFX_CBRS_CLOSE))
{
TRACE0("未能创建输出窗口/n");
return FALSE;
}
DockPane(&m_CYBDockablePane);
F11的响应应该隐藏/显示工具条呢?我的代码如下:
BOOL CYBBrowserApp::PreTranslateMessage(MSG* pMsg)
{
if(VK_F11 == pMsg->wParam && WM_KEYDOWN == pMsg->message)
{
if(!iShow)
{
iShow = 1;
((CMainFrame*)AfxGetApp()->m_pMainWnd)->m_CYBDockablePane.SetAutoHideMode(true, CBRS_ALIGN_BOTTOM);
((CMainFrame*)AfxGetApp()->m_pMainWnd)->m_CYBDockablePane.ShowPane(TRUE,FALSE,TRUE);
}
else
{
iShow = 0;
((CMainFrame*)AfxGetApp()->m_pMainWnd)->m_CYBDockablePane.SetAutoHideMode(true, CBRS_ALIGN_BOTTOM);
((CMainFrame*)AfxGetApp()->m_pMainWnd)->m_CYBDockablePane.ShowPane(FALSE,FALSE,TRUE);
}
}
return CWinAppEx::PreTranslateMessage(pMsg);
}
问题是现在按F11的时候,隐藏掉工具条的时候把鼠标移动到屏幕左下方,工具条又出来了,显示工具条的时候,单击客户区域,工具条隐藏起来了。
...全文
相关推荐
CDockablePane类的使用.doc
CDockablePane类的使用.doc
C++类CDockablePane的使用
1、CDockablePane说明 CDockablePane是一个通用窗口容器,它主要有两个用途:在一个框架中悬浮或者停靠窗口。在复杂布局的应用程序中,它可以显示或隐藏所装载的窗口,为应用程序窗口提供额外的空间。 可以将一个窗格停靠在主框架窗口;可以切换窗格自动隐藏模式;可以附加一个窗格到一个选项卡式窗口中; 2、设置CDockablePane最小尺
VC界面+停靠窗口+自动隐藏窗口
VC6.0实现如同VS2010的弹出式工具栏一样的功能,让对话框可以在窗口的任意位置进行停靠,并且实现窗口的自动隐藏和弹出
CDockablePane窗口启动隐藏
CDockablePane窗口启动隐藏 CDockablePane窗口启动隐藏 CDockablePane窗口启动隐藏
CMFCToolBar, CDockablePane使用中的一些经验总结
关于VS2008\VS2010中CMFCToolBar, CDockablePane使用中的一些经验总结


界面
