📄 menutreeview.cpp
字号:
// MenuTreeView.cpp : implementation file
//
#include "stdafx.h"
#include "PhysicM.h"
#include "MenuTreeView.h"
#include "LogView.h"
#include "mainfrm.h"
#include "ProviderDlg.h"
#include "PhysicSetDlg.h"
#include "PhysicRatedlg.h"
#include "dutyinfodlg.h"
#include "salesmandlg.h"
#include "hospitaldlg.h"
#include "officedlg.h"
#include "DoctorDlg.h"
#include "QueryDlg.h"
#include "SaleRecordMDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
///
static char *BaseInfoSetMenu[]={"厂家设置","药品信息设置","药品费用设置","职务设置","业务人员信息设置","医院设置","科室设置","医生设置",NULL};
static char *OperateMenu[]={"销售记录查询统计","销售记录维护",NULL};
/////////////////////////////////////////////////////////////////////////////
// CMenuTreeView
IMPLEMENT_DYNCREATE(CMenuTreeView, CTreeView)
CMenuTreeView::CMenuTreeView()
{
//for (int i=0;i<10;i++)
memset(fpt,0,sizeof(fpt));
fpt[0]=ProviderInfo;
fpt[1]=PhysicInfoSet;
fpt[2]=PhysicRateInfo;
fpt[3]=DutyInfoSet;
fpt[4]=SalesManInfo;
fpt[5]=HospitalInfo;
fpt[6]=OfficeInfo;
fpt[7]=DoctorInfo;
fpt[8]=QueryCount;
fpt[9]=SaleRecordM;
}
CMenuTreeView::~CMenuTreeView()
{
if (pImage)
delete pImage;
}
BEGIN_MESSAGE_MAP(CMenuTreeView, CTreeView)
//{{AFX_MSG_MAP(CMenuTreeView)
ON_WM_CREATE()
ON_NOTIFY_REFLECT(TVN_SELCHANGED, OnSelchanged)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMenuTreeView drawing
void CMenuTreeView::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
// pDC->DrawIcon(10,10,AfxGetApp()->LoadIcon(IDR_MENUVIEW_TMPL));
// TODO: add draw code here
}
/////////////////////////////////////////////////////////////////////////////
// CMenuTreeView diagnostics
#ifdef _DEBUG
void CMenuTreeView::AssertValid() const
{
CTreeView::AssertValid();
}
void CMenuTreeView::Dump(CDumpContext& dc) const
{
CTreeView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMenuTreeView message handlers
int CMenuTreeView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CTreeView::OnCreate(lpCreateStruct) == -1)
return -1;
pImage=new CImageList();
ASSERT (pImage !=NULL);
pImage->Create(18,18,TRUE | ILC_COLOR32,8,0);
pImage->Add(AfxGetApp()->LoadIcon(IDI_ICON8));
pImage->Add(AfxGetApp()->LoadIcon(IDI_ICON2));
pImage->Add(AfxGetApp()->LoadIcon(IDI_ICON3));
pImage->Add(AfxGetApp()->LoadIcon(IDI_ICON1));
pImage->Add(AfxGetApp()->LoadIcon(IDI_ICON4));
pImage->Add(AfxGetApp()->LoadIcon(IDI_ICON5));
pImage->Add(AfxGetApp()->LoadIcon(IDI_ICON6));
pImage->Add(AfxGetApp()->LoadIcon(IDI_ICON7));
pTree = &GetTreeCtrl();
pTree->SetImageList(pImage,TVSIL_NORMAL);
HTREEITEM hRoot,hChild;
pTree->ModifyStyle(0,TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS );
hRoot=pTree->InsertItem("主菜单",0,0,TVI_ROOT);
hChild=pTree->InsertItem("基础信息设置",0,0,hRoot);
char **p=BaseInfoSetMenu;
int i=0;
while(*p!=NULL)
{
pTree->InsertItem(*p,i,i,hChild);
i++;
p++;
}
hChild=pTree->InsertItem("日常管理",0,0,hRoot);
for(i=0,p=OperateMenu;*p!=NULL;i++)
{
pTree->InsertItem(*p,0,0,hChild);
p++;
}
pTree->InsertItem("关于...",0,0,hRoot);
pTree->Expand(hRoot,TVE_EXPAND);
pTree->SelectItem(NULL);
//SetIcon(AfxGetApp()->LoadIcon(IDR_MENUVIEW_TMPL),TRUE);
// TODO: Add your specialized creation code here
return 0;
}
void CMenuTreeView::CallFun(CString str)
{
char **p=BaseInfoSetMenu;
int i=0;
while(*p!=NULL)
{
if(str.Compare(*p)==0)
{
if(fpt[i]) {
(this->*fpt[i])();
pTree->SelectItem(NULL);
}
break;
}
p++;
i++;
}
if (*p) return;//已经调用
int j=0;
p=OperateMenu;
while(*p!=NULL)
{
if(str.Compare(*p)==0)
{
if(fpt[i+j]) {
(this->*fpt[i+j])();
pTree->SelectItem(NULL);
}
break;
}
p++;
j++;
}
}
void CMenuTreeView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
HTREEITEM hTreeItem=pTree->GetSelectedItem();
if(hTreeItem==NULL) return;
CString ItemText=pTree->GetItemText(hTreeItem);
CallFun(ItemText);
*pResult = 0;
}
void CMenuTreeView::ProviderInfo()
{
CProviderDlg pd;
pd.DoModal();
}
void CMenuTreeView::PhysicInfoSet()
{
CPhysicSetDlg pd;
pd.DoModal();
}
void CMenuTreeView::PhysicRateInfo()
{
CPhysicRateDlg rd;
rd.DoModal();
}
void CMenuTreeView::DutyInfoSet()
{
CDutyInfoDlg dutydlg;
dutydlg.DoModal();
}
void CMenuTreeView::SalesManInfo()
{
CSalesManDlg sd;
sd.DoModal();
}
void CMenuTreeView::HospitalInfo()
{
CHospitalDlg hd;
hd.DoModal();
}
void CMenuTreeView::OfficeInfo()
{
COfficeDlg od;
od.DoModal();
}
void CMenuTreeView::DoctorInfo()
{
CDoctorDlg dd;
dd.DoModal();
}
void CMenuTreeView::QueryCount()
{
CQueryDlg qd;
qd.DoModal();
}
void CMenuTreeView::SaleRecordM()
{
CSaleRecordMDlg sd;
sd.DoModal();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -