📄 mfcheaderbarcontrolview.cpp
字号:
#include "stdafx.h"
#include "MFCHeaderBarControlView.h"
#include "MFCHeaderBarControlDoc.h"
#include "resource.h"
#include "FolderTree.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMFCHeaderBarControlView
IMPLEMENT_DYNCREATE(CMFCHeaderBarControlView, CView)
BEGIN_MESSAGE_MAP(CMFCHeaderBarControlView, CView)
//{{AFX_MSG_MAP(CMFCHeaderBarControlView)
ON_COMMAND(ID_HEADERBAR_LEFT, OnHeaderBarLeft)
ON_UPDATE_COMMAND_UI(ID_HEADERBAR_LEFT, OnUpdateHeaderBarLeft)
ON_COMMAND(ID_HEADERBAR_RIGHT, OnHeaderBarRight)
ON_UPDATE_COMMAND_UI(ID_HEADERBAR_RIGHT, OnUpdateHeaderBarRight)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMFCHeaderBarControlView construction/destruction
CMFCHeaderBarControlView::CMFCHeaderBarControlView()
{
// TODO: add construction code here
}
CMFCHeaderBarControlView::~CMFCHeaderBarControlView()
{
}
/////////////////////////////////////////////////////////////////////////////
// CMFCHeaderBarControlView drawing
void CMFCHeaderBarControlView::OnDraw(CDC* pDC)
{
// TODO: add draw code for native data here
CView::OnDraw(pDC);
// CRect rc;
// GetClientRect(rc);
// CBrush brush(RGB(255,0,0));
// pDC->FillRect(&rc, &brush);
}
/////////////////////////////////////////////////////////////////////////////
// CMFCHeaderBarControlView diagnostics
#ifdef _DEBUG
void CMFCHeaderBarControlView::AssertValid() const
{
CView::AssertValid();
}
void CMFCHeaderBarControlView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMFCHeaderBarControlView message handlers
void CMFCHeaderBarControlView::OnHeaderBarLeft()
{
if (m_pwndTree->IsWindowVisible())
m_pwndTree->ShowWindow(SW_HIDE);
else
{
m_pwndTree->ShowWindow(SW_SHOW);
m_pwndTree->BringWindowToTop();
}
}
void CMFCHeaderBarControlView::OnUpdateHeaderBarLeft(CCmdUI* pCmdUI)
{
pCmdUI->Enable();
}
void CMFCHeaderBarControlView::OnHeaderBarRight()
{
// AfxMessageBox(_T("HeaderbarRight has been called"), MB_OK | MB_ICONINFORMATION);
CMenu menu;
VERIFY(menu.LoadMenu(IDR_SORTBY));
CMenu* pRealMenu = menu.GetSubMenu(0);
ASSERT(pRealMenu != NULL);
CWnd* pWnd = GetParent()->GetDlgItem(102);
CRect rc;
pWnd->GetWindowRect(&rc);
// When the user selects an item off the menu, it is routed to this view,
// however do not actually do anything with this view.
pRealMenu->TrackPopupMenu(TPM_RIGHTALIGN, rc.right, rc.bottom-1, this, NULL);
}
void CMFCHeaderBarControlView::OnUpdateHeaderBarRight(CCmdUI* pCmdUI)
{
pCmdUI->Enable();
}
void CMFCHeaderBarControlView::OnInitialUpdate()
{
CRect rc;
GetClientRect(rc);
rc.right = rc.Width() / 2;
rc.bottom = rc.Height() / 2;
m_pwndTree = new CFolderTree;
VERIFY(m_pwndTree->Create(WS_CHILD | TVS_HASBUTTONS | TVS_HASLINES, rc, this, 103));
m_pwndTree->ShowWindow(SW_HIDE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -