📄 routemanager.cpp
字号:
// ResourceView.cpp: implementation of the CResourceViewBar class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "BCGCBDotNetExample.h"
#include "MainFrm.h"
#include "RouteManager.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRouteManager
CRouteManager::CRouteManager()
{
}
CRouteManager::~CRouteManager()
{
}
BEGIN_MESSAGE_MAP(CRouteManager, CBCGPDockingControlBar)
//{{AFX_MSG_MAP(CRouteManager)
ON_WM_CREATE()
ON_WM_SIZE()
ON_WM_CONTEXTMENU()
ON_COMMAND(ID_add_address, On_add_address)
ON_WM_PAINT()
ON_WM_DESTROY()
ON_NOTIFY(TVN_SELCHANGED, 0x1005, OnClickTree1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CRouteManager message handlers
int CRouteManager::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CBCGPDockingControlBar::OnCreate(lpCreateStruct) == -1)
return -1;
CRect rectDummy;
rectDummy.SetRectEmpty ();
// Create view:
const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | TVS_HASLINES |
TVS_LINESATROOT | TVS_HASBUTTONS;
if (!m_wndResourceView.Create (dwViewStyle, rectDummy, this, 3))
{
TRACE0("Failed to create workspace view\n");
return -1; // fail to create
}
// Load view images:
m_ResourceViewImages.Create (IDB_RESOURCE_VIEW, 16, 0, RGB (255, 0, 255));
m_wndResourceView.SetImageList (&m_ResourceViewImages, TVSIL_NORMAL);
// Fill view context (dummy code, don't seek here something magic :-)):
FillResourceView ();
return 0;
}
void CRouteManager::OnSize(UINT nType, int cx, int cy)
{
CBCGPDockingControlBar::OnSize(nType, cx, cy);
if (CanAdjustLayout ())
{
m_wndResourceView.SetWindowPos (NULL, 1, 1, cx - 2, cy - 2,
SWP_NOACTIVATE | SWP_NOZORDER);
}
}
void CRouteManager::FillResourceView ()
{
m_wndResourceView.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER
| TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES
| TVS_DISABLEDRAGDROP,
CRect(10, 10, 300, 100), this, 0x1005);
HTREEITEM hRoot = m_wndResourceView.InsertItem (_T("线路管理"));
m_wndResourceView.SetItemState (hRoot, TVIS_BOLD, TVIS_BOLD);
HTREEITEM hFolder = m_wndResourceView.InsertItem (_T("1"), hRoot);
m_wndResourceView.InsertItem (_T("11"), hFolder);
m_wndResourceView.InsertItem (_T("12"), hFolder);
hFolder = m_wndResourceView.InsertItem (_T("2"), hRoot);
m_wndResourceView.InsertItem (_T("21"), hFolder);
hFolder = m_wndResourceView.InsertItem (_T("22"), hRoot);
hFolder = m_wndResourceView.InsertItem (_T("3"), hRoot);
m_wndResourceView.InsertItem (_T("31"), hFolder);
hFolder = m_wndResourceView.InsertItem (_T("32"), hFolder);
m_wndResourceView.InsertItem (_T("321"), hFolder);
hFolder = m_wndResourceView.InsertItem (_T("322"), hFolder);
m_wndResourceView.InsertItem (_T("323"),hFolder);
m_wndResourceView.Expand (hFolder, TVE_EXPAND);//展开里面以hFolder为根的TREE
m_wndResourceView.Expand (hRoot, TVE_EXPAND);//展开里面以hhRoot为根的TREE
}
void CRouteManager::OnContextMenu(CWnd* pWnd, CPoint point)
{
}
void CRouteManager::On_add_address()
{
// TODO: Add your command handler code here
AfxMessageBox("d");
ASSERT_VALID (((CBCGCBDotNetExampleApp*)AfxGetApp())->dtest);
POSITION pos = ((CBCGCBDotNetExampleApp*)AfxGetApp())->dtest->GetFirstDocPosition ();
if (pos == NULL)
{
((CBCGCBDotNetExampleApp*)AfxGetApp())->dtest->OpenDocumentFile(NULL);
return;
}
}
void CRouteManager::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rectTree;
m_wndResourceView.GetWindowRect (rectTree);
ScreenToClient (rectTree);
rectTree.InflateRect (1, 1);
dc.Draw3dRect (rectTree, ::GetSysColor (COLOR_3DSHADOW), ::GetSysColor (COLOR_3DSHADOW));
//dc.FillSolidRect(rectTree,RGB(192,192,192));
}
void CRouteManager::OnDestroy()
{
CBCGPDockingControlBar::OnDestroy();
}
void CRouteManager::OnClickTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
if (m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetSelectedItem())))) ) {
CString str;
str = CString(m_wndResourceView.GetItemText(m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetSelectedItem()))))));
str += "->";
str += CString(m_wndResourceView.GetItemText(m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetSelectedItem())))));
str += "->";
str += CString(m_wndResourceView.GetItemText(m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetSelectedItem()))));
str += "->";
str += CString(m_wndResourceView.GetItemText(m_wndResourceView.GetParentItem(m_wndResourceView.GetSelectedItem())));
str += "->";
str += CString(m_wndResourceView.GetItemText(m_wndResourceView.GetSelectedItem()));
AfxMessageBox(str);
}
else if (m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetSelectedItem())))) {
CString str;
str += CString(m_wndResourceView.GetItemText(m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetSelectedItem())))));
str += "->";
str += CString(m_wndResourceView.GetItemText(m_wndResourceView.GetParentItem(m_wndResourceView.GetParentItem(m_wndResourceView.GetSelectedItem()))));
str += "->";
str += CString(m_wndResourceView.GetItemText(m_wndResourceView.GetParentItem(m_wndResourceView.GetSelectedItem())));
str += "->";
str += CString(m_wndResourceView.GetItemText(m_wndResourceView.GetSelectedItem()));
AfxMessageBox(str);
}
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -