CDockablePane的隐藏显示问题

buaaxiao 2013-07-08 05:28:13
求助:我想要在MDI主框架的底部显示一个工具条,按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的时候,隐藏掉工具条的时候把鼠标移动到屏幕左下方,工具条又出来了,显示工具条的时候,单击客户区域,工具条隐藏起来了。
...全文
440 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
buaaxiao 2013-07-11
  • 打赏
  • 举报
回复
引用 4 楼 VisualEleven 的回复:
[quote=引用 1 楼 buaaxiao 的回复:] 顶一下,我只要简单的把工具条的位置固定起来就可以了
创建CDockablePane的时候看Create函数[/quote] 上面我提问的时候已经给出了create了
Eleven 2013-07-11
  • 打赏
  • 举报
回复
引用 1 楼 buaaxiao 的回复:
顶一下,我只要简单的把工具条的位置固定起来就可以了
创建CDockablePane的时候看Create函数
Eleven 2013-07-11
  • 打赏
  • 举报
回复
引用 2 楼 buaaxiao 的回复:
终于搞定了~~~perfect 来人接分啊
buaaxiao 2013-07-11
  • 打赏
  • 举报
回复
终于搞定了~~~perfect 来人接分啊
buaaxiao 2013-07-09
  • 打赏
  • 举报
回复
顶一下,我只要简单的把工具条的位置固定起来就可以了

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧