📄 tgworkspacebar.cpp
字号:
// TGWorkSpaceBar.cpp: implementation of the CTGWorkSpaceBar class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "cvenus.h"
#include "TGWorkSpaceBar.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
BEGIN_MESSAGE_MAP(CTGWorkSpaceBar, CBCGSizingControlBar)
//{{AFX_MSG_MAP(CTGWorkSpaceBar)
ON_WM_CREATE()
ON_WM_SIZE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTGWorkSpaceBar construction/destruction
TCHAR CTGWorkSpaceBar::csOperatorTree[17][30] =
{
_T("生产套管强度校核"),
_T("新建"),
_T("打开"),
_T("保存"),
_T("另存为"),
_T("基础数据录入"),
_T("计算结果"),
_T("分析计算"),
_T("载入数据库"),
_T("油管强度校核"),
_T("新建 "),
_T("打开 "),
_T("保存 "),
_T("另存为 "),
_T("基础数据录入 "),
_T("计算结果 "),
_T("分析计算 "),
};
CTGWorkSpaceBar::CTGWorkSpaceBar()
{
// TODO: add one-time construction code here
}
CTGWorkSpaceBar::~CTGWorkSpaceBar()
{
}
/////////////////////////////////////////////////////////////////////////////
// CTGWorkSpaceBar message handlers
int CTGWorkSpaceBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CBCGSizingControlBar::OnCreate(lpCreateStruct) == -1)
return -1;
CRect rectDummy;
rectDummy.SetRectEmpty ();
// Create tabs window:
if (!m_wndTabs.Create (CBCGTabWnd::STYLE_3D, rectDummy, this, 1))
{
TRACE0("Failed to create workspace tab window\n");
return -1; // fail to create
}
m_wndTabs.SetImageList (IDB_WORKSPACE, 16, RGB (255, 0, 255));
// Create tree windows.
// TODO: create your own tab windows here:
const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES |
TVS_LINESATROOT | TVS_HASBUTTONS | TVS_SHOWSELALWAYS;
if (!m_wndTree1.Create (dwViewStyle, rectDummy, &m_wndTabs, 2))
{
TRACE0("Failed to create workspace view\n");
return -1; // fail to create
}
{
UINT ID[16];
ID[0] = IDI_ICON9;
ID[1] = IDI_ICON_NEW;
ID[2] = IDI_ICON_OPEN;
ID[3] = IDI_ICON_SAVE;
ID[4] = IDI_ICON_SAVE;
ID[5] = IDI_ICON_BASE;
ID[6] = IDI_ICON_RESULT;
ID[7] = IDI_ICON_CALC;
ID[8] = IDI_DATABASE;
ID[9] = IDI_ICON12;
ID[10] = IDI_ICON_NEW;
ID[11] = IDI_ICON_OPEN;
ID[12] = IDI_ICON_SAVE;
ID[13] = IDI_ICON_SAVE;
ID[14] = IDI_ICON_BASE;
ID[15] = IDI_ICON_RESULT;
ID[16] = IDI_ICON_CALC;
// Create the Image List.
m_ImageList1.Create(16, 16, TRUE, 27, 0);
HICON hIcon;
for(int i = 0; i < 17; i++)
{
hIcon = ::LoadIcon(AfxGetResourceHandle(),
MAKEINTRESOURCE(ID[i]));
m_ImageList1.Add(hIcon);
}
m_wndTree1.SetImageList (&m_ImageList1, 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 = 0;
TreeCtrlItem1.hParent = TVI_ROOT;
TreeCtrlItem1.hInsertAfter = TVI_LAST;
HTREEITEM hTreeItem1 = m_wndTree1.InsertItem(&TreeCtrlItem1);
for(i = 1; i < 9; i++)
{
TreeCtrlItem1.hParent = hTreeItem1;
TreeCtrlItem1.item.pszText = csOperatorTree[i];
TreeCtrlItem1.item.lParam = i ;
TreeCtrlItem1.item.iImage = i ;
TreeCtrlItem1.item.iSelectedImage = i;
m_wndTree1.InsertItem(&TreeCtrlItem1);
}
TreeCtrlItem1.hParent = TVI_ROOT;
TreeCtrlItem1.item.pszText = csOperatorTree[9];
TreeCtrlItem1.item.lParam = 9;
TreeCtrlItem1.item.iImage = 9;
TreeCtrlItem1.item.iSelectedImage = 9;
HTREEITEM hTreeItem2 = m_wndTree1.InsertItem(&TreeCtrlItem1);
for(i = 10; i < 17; i++)
{
TreeCtrlItem1.hParent = hTreeItem2;
TreeCtrlItem1.item.pszText = csOperatorTree[i];
TreeCtrlItem1.item.lParam = i ;
TreeCtrlItem1.item.iImage = i ;
TreeCtrlItem1.item.iSelectedImage = i;
m_wndTree1.InsertItem(&TreeCtrlItem1);
}
m_wndTree1.Expand(hTreeItem1, TVE_EXPAND);
m_wndTree1.Expand(hTreeItem2, TVE_EXPAND);
}
// Attach tree windows to tab:
m_wndTabs.AddTab (&m_wndTree1, _T("操作"), 0 /* Image number */);
return 0;
}
void CTGWorkSpaceBar::OnSize(UINT nType, int cx, int cy)
{
CBCGSizingControlBar::OnSize(nType, cx, cy);
// Tab control should cover a whole client area:
m_wndTabs.SetWindowPos (NULL, -1, -1, cx, cy,
SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -