📄 treeviewoperation.cpp
字号:
// TreeViewOperation.cpp : implementation file
//
#include "stdafx.h"
#include "CVenus.h"
#include "TreeViewOperation.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTreeViewOperation
IMPLEMENT_DYNCREATE(CTreeViewOperation, CTreeView)
static char csOperatorTree[20][20] =
{
_T("操作"),
_T("基本数据"),
_T("新井"),
_T("打开"),
_T("保存"),
_T("打印输入数据"),
_T("分析计算"),
_T("当前井"),
_T("计算结果"),
_T("显示当前计算结果"),
_T("显示计算结果"),
_T("打印结果"),
_T("图形"),
_T("显示当前图形"),
_T("显示图形"),
_T("图形设置"),
_T("另存为位图"),
_T("上一个图"),
_T("下一个图"),
_T("打印图形")
};
CTreeViewOperation::CTreeViewOperation()
{
}
CTreeViewOperation::~CTreeViewOperation()
{
}
BEGIN_MESSAGE_MAP(CTreeViewOperation, CTreeView)
//{{AFX_MSG_MAP(CTreeViewOperation)
ON_WM_CREATE()
ON_NOTIFY_REFLECT(NM_DBLCLK, OnDblclk)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTreeViewOperation drawing
void CTreeViewOperation::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
// TODO: add draw code here
}
/////////////////////////////////////////////////////////////////////////////
// CTreeViewOperation diagnostics
#ifdef _DEBUG
void CTreeViewOperation::AssertValid() const
{
CTreeView::AssertValid();
}
void CTreeViewOperation::Dump(CDumpContext& dc) const
{
CTreeView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CTreeViewOperation message handlers
BOOL CTreeViewOperation::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style |= TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT;
return CTreeView::PreCreateWindow(cs);
}
int CTreeViewOperation::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CTreeView::OnCreate(lpCreateStruct) == -1)
return -1;
UINT ID[20];
ID[0] = IDI_ICON1;
ID[1] = IDI_ICON2;
ID[2] = IDI_ICON3;
ID[3] = IDI_ICON4;
ID[4] = IDI_ICON5;
ID[5] = IDI_ICON6;
ID[6] = IDI_ICON7;
ID[7] = IDI_ICON8;
ID[8] = IDI_ICON9;
ID[9] = IDI_ICON10;
ID[10] = IDI_ICON11;
ID[11] = IDI_ICON12;
ID[12] = IDI_ICON13;
ID[13] = IDI_ICON14;
ID[14] = IDI_ICON15;
ID[15] = IDI_ICON16;
ID[16] = IDI_ICON17;
ID[17] = IDI_ICON18;
ID[18] = IDI_ICON19;
ID[19] = IDI_ICON10;
// Create the Image List.
m_TreeCtrl = &GetTreeCtrl();
m_ImageList.Create(16, 16, TRUE, 27, 0);
HICON hIcon;
for(int i = 0; i < 20; i++)
{
hIcon = ::LoadIcon(AfxGetResourceHandle(),
MAKEINTRESOURCE(ID[i]));
m_ImageList.Add(hIcon);
}
m_TreeCtrl->SetImageList (&m_ImageList, TVSIL_NORMAL);
TV_INSERTSTRUCT TreeCtrlItem1;
TreeCtrlItem1.item.pszText = csOperatorTree[0];
TreeCtrlItem1.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE| TVIF_PARAM;
TreeCtrlItem1.item.iImage = 0;
TreeCtrlItem1.item.iSelectedImage = 0;
TreeCtrlItem1.item.lParam = 1;
TV_INSERTSTRUCT tvInsert;
TreeCtrlItem1.hParent = TVI_ROOT;
TreeCtrlItem1.hInsertAfter = TVI_LAST;
tvInsert.item = TreeCtrlItem1.item;
HTREEITEM hTreeItem0 = m_TreeCtrl->InsertItem(&TreeCtrlItem1);
TreeCtrlItem1.hParent = hTreeItem0;
TreeCtrlItem1.item.pszText = csOperatorTree[1];
TreeCtrlItem1.item.lParam = 1;
TreeCtrlItem1.item.iImage = 0;
TreeCtrlItem1.item.iSelectedImage = 0;
tvInsert.item = TreeCtrlItem1.item;
HTREEITEM hTreeItem1 = m_TreeCtrl->InsertItem(&TreeCtrlItem1);
for(i = 2; i < 6; i++)
{
TreeCtrlItem1.hParent = hTreeItem1;
TreeCtrlItem1.item.pszText = csOperatorTree[i];
TreeCtrlItem1.item.lParam = i + 1;
TreeCtrlItem1.item.iImage = i - 1;
TreeCtrlItem1.item.iSelectedImage = i - 1;
tvInsert.item = TreeCtrlItem1.item;
m_TreeCtrl->InsertItem(&TreeCtrlItem1);
}
TreeCtrlItem1.hParent = hTreeItem0;
TreeCtrlItem1.item.pszText = csOperatorTree[6];
TreeCtrlItem1.item.lParam = 6;
TreeCtrlItem1.item.iImage = 5;
TreeCtrlItem1.item.iSelectedImage = 5;
tvInsert.item = TreeCtrlItem1.item;
HTREEITEM hTreeItem2 = m_TreeCtrl->InsertItem(&TreeCtrlItem1);
for(i = 7; i < 8; i++)
{
TreeCtrlItem1.hParent = hTreeItem2;
TreeCtrlItem1.item.pszText = csOperatorTree[i];
TreeCtrlItem1.item.lParam = i + 1;
TreeCtrlItem1.item.iImage = i - 1;
TreeCtrlItem1.item.iSelectedImage = i - 1;
tvInsert.item = TreeCtrlItem1.item;
m_TreeCtrl->InsertItem(&TreeCtrlItem1);
}
TreeCtrlItem1.hParent = hTreeItem0;
TreeCtrlItem1.item.pszText = csOperatorTree[8];
TreeCtrlItem1.item.lParam = 9;
TreeCtrlItem1.item.iImage = 8;
TreeCtrlItem1.item.iSelectedImage = 8;
tvInsert.item = TreeCtrlItem1.item;
HTREEITEM hTreeItem3 = m_TreeCtrl->InsertItem(&TreeCtrlItem1);
for(i = 9; i < 12; i++)
{
TreeCtrlItem1.hParent = hTreeItem3;
TreeCtrlItem1.item.pszText = csOperatorTree[i];
TreeCtrlItem1.item.lParam = i + 1;
TreeCtrlItem1.item.iImage = i - 1;
TreeCtrlItem1.item.iSelectedImage = i - 1;
tvInsert.item = TreeCtrlItem1.item;
m_TreeCtrl->InsertItem(&TreeCtrlItem1);
}
TreeCtrlItem1.hParent = hTreeItem0;
TreeCtrlItem1.item.pszText = csOperatorTree[12];
TreeCtrlItem1.item.lParam = 13;
TreeCtrlItem1.item.iImage = 12;
TreeCtrlItem1.item.iSelectedImage = 12;
tvInsert.item = TreeCtrlItem1.item;
HTREEITEM hTreeItem4 = m_TreeCtrl->InsertItem(&TreeCtrlItem1);
for(i = 13; i < 20; i++)
{
TreeCtrlItem1.hParent = hTreeItem4;
TreeCtrlItem1.item.pszText = csOperatorTree[i];
TreeCtrlItem1.item.lParam = i + 1;
TreeCtrlItem1.item.iImage = i - 1;
TreeCtrlItem1.item.iSelectedImage = i - 1;
tvInsert.item = TreeCtrlItem1.item;
m_TreeCtrl->InsertItem(&TreeCtrlItem1);
}
m_TreeCtrl->Expand(hTreeItem0, TVE_EXPAND);
m_TreeCtrl->Expand(hTreeItem1, TVE_EXPAND);
m_TreeCtrl->Expand(hTreeItem2, TVE_EXPAND);
m_TreeCtrl->Expand(hTreeItem3, TVE_EXPAND);
m_TreeCtrl->Expand(hTreeItem4, TVE_EXPAND);
return 0;
}
void CTreeViewOperation::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
HTREEITEM hTreeItem1 = m_TreeCtrl->GetSelectedItem();
CString str = m_TreeCtrl->GetItemText(hTreeItem1);
if( ((CCVenusApp*)AfxGetApp())->m_pGraphDlg == NULL ) return;
for(int i = 1; i < 20; i++)
{
if(str.Compare(csOperatorTree[i]) == 0)
{
switch(i)
{
case 0x01:
break;
case 0x02:
((CCVenusApp*)AfxGetApp())->OnBaseNew();
break;
case 0x03:
((CCVenusApp*)AfxGetApp())->OnBaseOpen();
break;
case 0x04:
((CCVenusApp*)AfxGetApp())->OnBaseSave();
break;
case 0x05:
// ((CCVenusApp*)AfxGetApp())->OnBasePrint();
break;
case 0x06:
break;
case 0x07:
((CCVenusApp*)AfxGetApp())->OnAnalyseCalc1();
break;
case 0x08:
break;
case 0x09:
((CCVenusApp*)AfxGetApp())->OnDisCurRst();
break;
case 0x0A:
((CCVenusApp*)AfxGetApp())->OnDispCalcRst();
break;
case 0x0B:
// AfxMessageBox("打印结果");
// ((CCVenusApp*)AfxGetApp())->OnBaseNew();
break;
case 0x0C:
break;
case 0x0D:
((CCVenusApp*)AfxGetApp())->OnDisCurGraph();
break;
case 0x0E:
((CCVenusApp*)AfxGetApp())->OnDispGraph1();
break;
case 0x0F:
((CCVenusApp*)AfxGetApp())->OnDispGraph2();
break;
case 0x10:
((CCVenusApp*)AfxGetApp())->OnBitmap();
break;
case 0x11:
((CCVenusApp*)AfxGetApp())->OnDispGraph3();
break;
case 0x12:
((CCVenusApp*)AfxGetApp())->OnDispGraph4();
break;
case 0x13:
((CCVenusApp*)AfxGetApp())->OnDispGraph6();
break;
}
break;
}
}
HTREEITEM m_hTreeItem = m_TreeCtrl->GetSelectedItem();
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -