📄 leftview.cpp
字号:
// LeftView.cpp : implementation of the CLeftView class
//
#include "stdafx.h"
#include "aaa.h"
#include "aaaDoc.h"
#include "LeftView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CLeftView
IMPLEMENT_DYNCREATE(CLeftView, CTreeView)
BEGIN_MESSAGE_MAP(CLeftView, CTreeView)
//{{AFX_MSG_MAP(CLeftView)
ON_NOTIFY_REFLECT(TVN_KEYDOWN, OnKeydown)
ON_NOTIFY_REFLECT(NM_CLICK, OnClick)
ON_NOTIFY_REFLECT(TVN_SELCHANGED, OnSelchanged)
ON_NOTIFY_REFLECT(NM_DBLCLK, OnDblclk)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CTreeView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CTreeView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CTreeView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLeftView construction/destruction
CLeftView::CLeftView()
{
// TODO: add construction code here
}
CLeftView::~CLeftView()
{
}
BOOL CLeftView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style |= TVS_HASLINES|TVS_LINESATROOT|TVS_SHOWSELALWAYS
|TVS_SINGLEEXPAND|TVS_HASBUTTONS|TVS_NOTOOLTIPS;
return CTreeView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CLeftView drawing
void CLeftView::OnDraw(CDC* pDC)
{
CAaaDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
}
/////////////////////////////////////////////////////////////////////////////
// CLeftView printing
BOOL CLeftView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CLeftView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CLeftView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
void CLeftView::OnInitialUpdate()
{
CTreeView::OnInitialUpdate();
ImgTree.Create(16, 16, ILC_COLOR24|ILC_MASK, 5, 5); //创建图标列表
ImgTree.Add(AfxGetApp()->LoadIcon(IDI_CK)); //0仓库管理图标
ImgTree.Add(AfxGetApp()->LoadIcon(IDI_BASE_INFO)); //1:基本信息管理图标
ImgTree.Add(AfxGetApp()->LoadIcon(IDI_INPUT)); //2:入库管理图标
ImgTree.Add(AfxGetApp()->LoadIcon(IDI_STORE)); //3:库存管理图标
ImgTree.Add(AfxGetApp()->LoadIcon(IDI_FIND_INFO)); //4:查询图标
ImgTree.Add(AfxGetApp()->LoadIcon(IDI_ITEM)); //5:叶子图标
CTreeCtrl& CtlTree = (CTreeCtrl&)GetTreeCtrl();
CtlTree.SetBkColor(RGB(155, 200, 255)); //浅绿色
CtlTree.SetImageList(&ImgTree, TVSIL_NORMAL);
int i = 0; //图标索引
TV_INSERTSTRUCT tvRoot; //树根
TV_INSERTSTRUCT tvSecond; //树枝
TV_INSERTSTRUCT tvThree; //树叶
//添树根
tvRoot.hParent = NULL;
tvRoot.item.pszText = "仓库管理";
tvRoot.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE ;
tvRoot.item.iImage = i;
tvRoot.item.iSelectedImage = i;
HTREEITEM item_root = CtlTree.InsertItem(&tvRoot);
//添树枝和树叶
int ii; //每个树枝的叶子
CString strSecond[4] = {"基本信息管理", "入库管理", "库存管理", "查询管理"};
CString strThree[4][5] =
{{"操作员管理", "商品信息管理", "库存信息管理", "供应商信息管理"},
{"商品入库", "入库退货"},
{"库存商品打印", "库存盘点", "库存调拨", "商品出库", "库存上下限管理"},
{"商品入库查询", "入库退货查询", "报损|报益查询"}};
for (i=1; i<5; i++)
{
tvSecond.hParent = item_root;
tvSecond.item.pszText = (LPTSTR)(LPCTSTR)strSecond[i-1];
tvSecond.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
tvSecond.item.iImage = i;
tvSecond.item.iSelectedImage = i;
HTREEITEM item_second = CtlTree.InsertItem(&tvSecond);
switch(i)
{
case 1:
ii = 4;
break;
case 2:
ii = 2;
break;
case 3:
ii = 5;
break;
case 4:
ii = 3;
break;
default:
break;
}
for (int j=0; j<ii; j++)
{
tvThree.hParent = item_second;
tvThree.item.pszText = (LPTSTR)(LPCTSTR)strThree[i-1][j];
tvThree.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
tvThree.item.iImage = 5;
tvThree.item.iSelectedImage = 5;
CtlTree.InsertItem(&tvThree);
}
}
}
/////////////////////////////////////////////////////////////////////////////
// CLeftView diagnostics
#ifdef _DEBUG
void CLeftView::AssertValid() const
{
CTreeView::AssertValid();
}
void CLeftView::Dump(CDumpContext& dc) const
{
CTreeView::Dump(dc);
}
CAaaDoc* CLeftView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CAaaDoc)));
return (CAaaDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CLeftView message handlers
void CLeftView::OnKeydown(NMHDR* pNMHDR, LRESULT* pResult)
{
TV_KEYDOWN* pTVKeyDown = (TV_KEYDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
*pResult = 0;
}
void CLeftView::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
}
void CLeftView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
/* NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
CTreeCtrl& CtlTree = (CTreeCtrl&)GetTreeCtrl();
HTREEITEM select_item = CtlTree.GetSelectedItem();
CString str = CtlTree.GetItemText(select_item);
if (str == "操作员管理")
{
m_pdlgBaseInfoM = new CDlgBaseInfoM(0);
m_pdlgBaseInfoM->DoModal();
delete m_pdlgBaseInfoM;
}
else if (str == "商品信息管理")
{
m_pdlgBaseInfoM = new CDlgBaseInfoM(1);
m_pdlgBaseInfoM->DoModal();
delete m_pdlgBaseInfoM;
}
else if (str == "库存信息管理")
{
m_pdlgBaseInfoM = new CDlgBaseInfoM(2);
m_pdlgBaseInfoM->DoModal();
delete m_pdlgBaseInfoM;
}
else if (str == "供应商信息管理")
{
m_pdlgBaseInfoM = new CDlgBaseInfoM(3);
m_pdlgBaseInfoM->DoModal();
delete m_pdlgBaseInfoM;
}//------------------------------
else if (str == "商品入库")
{
m_pdlgInputM = new CDlgInputStorageM(0);
m_pdlgInputM->DoModal();
delete m_pdlgInputM;
}
else if (str == "入库退货")
{
m_pdlgInputM = new CDlgInputStorageM(1);
m_pdlgInputM->DoModal();
delete m_pdlgInputM;
}//--------------------------------
else if (str == "库存商品打印") // 打印
{
}
else if (str == "库存盘点")
{
m_pdlgStoreageM = new CDlgStorageM(0);
m_pdlgStoreageM->DoModal();
delete m_pdlgStoreageM;
}
else if (str == "库存调拨")
{
m_pdlgStoreageM = new CDlgStorageM(1);
m_pdlgStoreageM->DoModal();
delete m_pdlgStoreageM;
}
else if (str == "商品出库")
{
m_pdlgStoreageM = new CDlgStorageM(2);
m_pdlgStoreageM->DoModal();
delete m_pdlgStoreageM;
}
else if (str == "库存上下限管理")
{
m_pdlgStoreageM = new CDlgStorageM(3);
m_pdlgStoreageM->DoModal();
delete m_pdlgStoreageM;
}//----------------------------------
else if (str == "商品入库查询")
{
m_pdlgQueryM = new CDlgQueryM(0);
m_pdlgQueryM->DoModal();
delete m_pdlgQueryM;
}
else if (str == "入库退货查询")
{
m_pdlgQueryM = new CDlgQueryM(1);
m_pdlgQueryM->DoModal();
delete m_pdlgQueryM;
}
else if (str == "报损|报益查询")
{
m_pdlgQueryM = new CDlgQueryM(2);
m_pdlgQueryM->DoModal();
delete m_pdlgQueryM;
}
else if (str == "库存调拨查询")
{
m_pdlgQueryM = new CDlgQueryM(3);
m_pdlgQueryM->DoModal();
delete m_pdlgQueryM;
}
else if (str == "商品出库查询")
{
m_pdlgQueryM = new CDlgQueryM(4);
m_pdlgQueryM->DoModal();
delete m_pdlgQueryM;
}
else
{
;
}
*/
*pResult = 0;
}
void CLeftView::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
CTreeCtrl& CtlTree = (CTreeCtrl&)GetTreeCtrl();
HTREEITEM select_item = CtlTree.GetSelectedItem();
CString str = CtlTree.GetItemText(select_item);
if (str == "操作员管理")
{
m_pdlgBaseInfoM = new CDlgBaseInfoM(0);
m_pdlgBaseInfoM->DoModal();
delete m_pdlgBaseInfoM;
}
else if (str == "商品信息管理")
{
m_pdlgBaseInfoM = new CDlgBaseInfoM(1);
m_pdlgBaseInfoM->DoModal();
delete m_pdlgBaseInfoM;
}
else if (str == "库存信息管理")
{
m_pdlgBaseInfoM = new CDlgBaseInfoM(2);
m_pdlgBaseInfoM->DoModal();
delete m_pdlgBaseInfoM;
}
else if (str == "供应商信息管理")
{
m_pdlgBaseInfoM = new CDlgBaseInfoM(3);
m_pdlgBaseInfoM->DoModal();
delete m_pdlgBaseInfoM;
}//------------------------------
else if (str == "商品入库")
{
m_pdlgInputM = new CDlgInputStorageM(0);
m_pdlgInputM->DoModal();
delete m_pdlgInputM;
}
else if (str == "入库退货")
{
m_pdlgInputM = new CDlgInputStorageM(1);
m_pdlgInputM->DoModal();
delete m_pdlgInputM;
}//--------------------------------
else if (str == "库存商品打印") // 打印
{
m_pdlgStoreageM = new CDlgStorageM(0);
m_pdlgStoreageM->DoModal();
delete m_pdlgStoreageM;
}
else if (str == "库存盘点")
{
m_pdlgStoreageM = new CDlgStorageM(1);
m_pdlgStoreageM->DoModal();
delete m_pdlgStoreageM;
}
else if (str == "库存调拨")
{
m_pdlgStoreageM = new CDlgStorageM(2);
m_pdlgStoreageM->DoModal();
delete m_pdlgStoreageM;
}
else if (str == "商品出库")
{
m_pdlgStoreageM = new CDlgStorageM(3);
m_pdlgStoreageM->DoModal();
delete m_pdlgStoreageM;
}
else if (str == "库存上下限管理")
{
m_pdlgStoreageM = new CDlgStorageM(4);
m_pdlgStoreageM->DoModal();
delete m_pdlgStoreageM;
}//----------------------------------
else if (str == "商品入库查询")
{
m_pdlgQueryM = new CDlgQueryM(0);
m_pdlgQueryM->DoModal();
delete m_pdlgQueryM;
}
else if (str == "入库退货查询")
{
m_pdlgQueryM = new CDlgQueryM(1);
m_pdlgQueryM->DoModal();
delete m_pdlgQueryM;
}
else if (str == "报损|报益查询")
{
m_pdlgQueryM = new CDlgQueryM(2);
m_pdlgQueryM->DoModal();
delete m_pdlgQueryM;
}
else if (str == "库存调拨查询")
{
m_pdlgQueryM = new CDlgQueryM(3);
m_pdlgQueryM->DoModal();
delete m_pdlgQueryM;
}
else
{
;
}
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -