//在菜单上点击时显示或隐藏 对应窗口
#pragma once
#include "FlowBar.h"
#include "WorkSpaceBar2.h"
#include "OutputBar.h"
#include "DockableStartPage.h"
#include "PropertiesViewBar.h"
class CMainFrame : public CBCGPMDIFrameWnd
{
DECLARE_DYNAMIC(CMainFrame)
public:
CMainFrame();
public:
virtual ~CMainFrame();
protected: // control bar embedded members
CWorkSpaceBar2 m_wndKnowledge; //知识库视图
CBCGPToolBarImages m_UserImages;
public:
CWorkSpaceBar2* GetKnowledgeView(){return &m_wndKnowledge;}
// Generated message map functions
protected:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnViewKnowledge();
afx_msg void OnUpdateViewKnowledge(CCmdUI *pCmdUI);
};
BEGIN_MESSAGE_MAP(CMainFrame, CBCGPMDIFrameWnd)
ON_WM_CREATE()
ON_COMMAND(ID_VIEW_KNOWLEDGE, &CMainFrame::OnViewKnowledge)//在菜单上点击时显示或隐藏 对应窗口
ON_UPDATE_COMMAND_UI(ID_VIEW_KNOWLEDGE, &CMainFrame::OnUpdateViewKnowledge)
END_MESSAGE_MAP()
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CBCGPMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
CBCGPToolBar::EnableQuickCustomization ();
//属性窗口创建
if (!m_wndPropGrid.Create (_T("属性"), this, CRect (0, 0, 200, 200),
TRUE,
ID_VIEW_PROPERTIES,
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_RIGHT | CBRS_FLOAT_MULTI))
{
TRACE0("Failed to create Properties Bar\n");
return FALSE; // fail to create
}
//设置图片
m_wndPropGrid.SetIcon (imagesWorkspace.ExtractIcon (2), FALSE);
// TODO: Delete these three lines if you don't want the toolbar to be dockable
//加入布局
DockControlBar(&m_wndPropGrid);
//设置相对
m_wndKnowledge.DockToWindow(&m_wndPropGrid,CBRS_BOTTOM);
EnableControlBarMenu (
TRUE, // Enable
ID_VIEW_CUSTOMIZE, // Customize command ID
_T("自定义..."), // Customize command text
ID_VIEW_TOOLBARS, // Menu items with this ID will be replaced by toolbars menu
FALSE,
FALSE,
TRUE);
OnAppLook (m_nAppLook);
return 0;
}
void CMainFrame::OnViewKnowledge()
{
ASSERT(ID_VIEW_STATUS_BAR == AFX_IDW_STATUS_BAR);
ASSERT(ID_VIEW_TOOLBAR == AFX_IDW_TOOLBAR);
ASSERT(ID_VIEW_REBAR == AFX_IDW_REBAR);
CControlBar* pBar = (CControlBar*)&m_wndKnowledge;
if (pBar != NULL)
{
CFrameWnd::ShowControlBar(pBar, (pBar->GetStyle() & WS_VISIBLE) == 0, FALSE);
//return TRUE;
}
// TODO: 在此添加命令处理程序代码
}
void CMainFrame::OnUpdateViewKnowledge(CCmdUI *pCmdUI)
{
ASSERT(ID_VIEW_STATUS_BAR == AFX_IDW_STATUS_BAR);
ASSERT(ID_VIEW_TOOLBAR == AFX_IDW_TOOLBAR);
ASSERT(ID_VIEW_REBAR == AFX_IDW_REBAR);
ENSURE_ARG(pCmdUI != NULL);
CControlBar* pBar = (CControlBar*)&m_wndKnowledge;
if (pBar != NULL)
{
pCmdUI->SetCheck((pBar->GetStyle() & WS_VISIBLE) != 0);
return;
}
pCmdUI->ContinueRouting();
// TODO: 在此添加命令更新用户界面处理程序代码
}
【UI-BCG】在菜单上点击时显示或隐藏 对应窗口
最新推荐文章于 2022-09-27 16:15:27 发布