📄 optworkspcbar.cpp
字号:
// OptWorkSpcBar.cpp : implementation file
//
#include "stdafx.h"
#include "VisualJava.h"
#include "OptWorkSpcBar.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// COptWorkSpcBar dialog
COptWorkSpcBar::COptWorkSpcBar(CWnd* pParent /*=NULL*/)
: CDialog(COptWorkSpcBar::IDD, pParent)
{
//{{AFX_DATA_INIT(COptWorkSpcBar)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
/*
COptWorkSpcBar::m_pwndFileView = new CFileViewTree;
COptWorkSpcBar::m_pwndClassView = new CTreeCtrl;
COptWorkSpcBar::m_pwndResView = new CTreeCtrl;*/
}
COptWorkSpcBar::~COptWorkSpcBar()
{
delete m_pwndFileView;
delete m_pwndClassView;
delete m_pwndResView;
}
void COptWorkSpcBar::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COptWorkSpcBar)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(COptWorkSpcBar, CDialog)
//{{AFX_MSG_MAP(COptWorkSpcBar)
ON_WM_CREATE()
ON_WM_SIZE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COptWorkSpcBar message handlers
void COptWorkSpcBar::CreateViews()
{
m_wndTabCtrl.SubclassDlgItem(IDC_VIEW_TAB,this);
m_imgList.Create(IDB_TABIMG,16,1,RGB(255,0,0));
m_wndTabCtrl.SetImageList(&m_imgList);
TC_ITEM tci;
tci.mask = TCIF_TEXT | TCIF_IMAGE;
tci.pszText = "ClassView";
tci.iImage = 0;
m_wndTabCtrl.InsertItem(0, &tci);
/*
TC_ITEM tci1;
tci1.mask = TCIF_TEXT | TCIF_IMAGE;
tci1.pszText = "ResourceView";
tci1.iImage = 1;
m_wndTabCtrl.InsertItem(1, &tci1);
*/
TC_ITEM tci2;
tci2.mask = TCIF_TEXT | TCIF_IMAGE;
tci2.pszText = "FileView";
tci2.iImage = 2;
m_wndTabCtrl.InsertItem(2, &tci2);
//m_wndWorkSpcTab.SetPadding(CSize(3,3));
{
CRect rect (0, 0, 220, 400);
m_pwndClassView->SubclassDlgItem(IDC_CLASS_TREE,this);
//m_wndTabCtrl.ShowSelTabWnd();
//set image list
m_classImg.Create(IDB_CLASSIMG,16,1,RGB(255,0,0));
m_pwndClassView->SetImageList(&m_classImg,TVSIL_NORMAL);
}
/*
{
CRect rect (0, 0, 220, 400);
m_pwndResView->SubclassDlgItem(IDC_RES_TREE,this);
m_resImg.Create(16,16,ILC_COLOR24|ILC_MASK,7,2);
CBitmap bm;
bm.LoadBitmap(IDB_RESIMGS);
m_resImg.Add(&bm,RGB(255,0,0));
m_wndResView.SetImageList(&m_resImg,TVSIL_NORMAL);
m_wndResView.InsertItem("Resources",2,2);
}*/
{
CRect rect (0, 0, 220, 400);
m_pwndFileView->SubclassDlgItem(IDC_FILE_TREE,this);
m_fileImg.Create(16,16,ILC_COLOR24|ILC_MASK,7,2);
CBitmap bm;
bm.LoadBitmap(IDB_FILE_BUNDLE);
m_fileImg.Add(&bm,RGB(255,0,255));
m_pwndFileView->SetImageList(&m_fileImg,TVSIL_NORMAL);
}
}
HTREEITEM COptWorkSpcBar::AddItem(CString pszItem,int nLineIndex /*= -1*/,
HTREEITEM hParent /*=0*/,
UINT ntype /*= 0*/,UINT naccess /*=0*/)
{
HTREEITEM hHwnd= NULL;
switch(ntype)
{
case IS_CLASS:
hHwnd= m_pwndClassView->InsertItem(pszItem,0,0,hParent,TVI_SORT);
m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
return hHwnd;
case IS_FUNC:
return AddFunc(pszItem,nLineIndex,hParent,naccess);
case IS_VAR:
return AddVar(pszItem,nLineIndex,hParent,naccess);
case IS_LOCAL:
{
hHwnd= m_pwndClassView->InsertItem(pszItem,2,2,hParent,TVI_LAST);
m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
/* if(hHwnd == NULL)
{
// ASSERT(NULL);
m_pwndClassView->InsertItem("NULL PARENT:"+m_wndClassView.GetItemText(hParent),8,8,TVI_ROOT,TVI_LAST);
}*/
return hHwnd;
}
case IS_BLOCK:
hHwnd = m_pwndClassView->InsertItem(pszItem,10,10,hParent,TVI_LAST);
m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
return hHwnd;
default:;
m_pwndClassView->InsertItem(pszItem,8,8,TVI_ROOT,TVI_LAST);
return 0;
}
return 0;
}
void COptWorkSpcBar::RemoveItem(HTREEITEM hItem)
{
m_pwndClassView->DeleteItem(hItem);
}
HTREEITEM COptWorkSpcBar::AddFunc(CString pszItem,int nLineIndex,HTREEITEM hParent,
UINT naccess)
{
HTREEITEM hHwnd = NULL;
switch(naccess)
{
case IS_PUBLIC:
{
hHwnd = m_pwndClassView->InsertItem(pszItem,1,1,hParent,TVI_LAST);
if(hHwnd == NULL)
m_pwndClassView->InsertItem("NULL PARENT",8,8,TVI_ROOT,TVI_LAST);
m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
//CMainFrame *pMainFrm = GETMAINFRAME;
//pMainFrm->AddFunction(0,pszItem,nLineIndex);
return hHwnd;
}
case IS_PROTECTED:
{
hHwnd = m_pwndClassView->InsertItem(pszItem,6,6,hParent,TVI_LAST);
if(hHwnd == NULL)
m_pwndClassView->InsertItem("NULL PARENT",8,8,TVI_ROOT,TVI_LAST);
m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
//CMainFrame *pMainFrm = GETMAINFRAME;
//pMainFrm->AddFunction(2,pszItem,nLineIndex);
return hHwnd;
}
default:;
{
hHwnd = m_pwndClassView->InsertItem(pszItem,4,4,hParent,TVI_LAST);
if(hHwnd == NULL)
m_pwndClassView->InsertItem("NULL PARENT",8,8,TVI_ROOT,TVI_LAST);
m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
//CMainFrame *pMainFrm = GETMAINFRAME;
//pMainFrm->AddFunction(1,pszItem,nLineIndex);
return hHwnd;
}
}
return 0;
}
HTREEITEM COptWorkSpcBar::AddVar(CString pszItem,int nLineIndex ,HTREEITEM hParent,
UINT naccess)
{
HTREEITEM hHwnd = NULL;
switch(naccess)
{
case IS_PUBLIC:
{
hHwnd = COptWorkSpcBar::m_pwndClassView->InsertItem(pszItem,3,3,hParent,TVI_LAST);
if(hHwnd == NULL)
COptWorkSpcBar::m_pwndClassView->InsertItem("NULL PARENT",8,8,TVI_ROOT,TVI_LAST);
COptWorkSpcBar::m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
return hHwnd;
}
case IS_PROTECTED:
{
hHwnd = COptWorkSpcBar::m_pwndClassView->InsertItem(pszItem,7,7,hParent,TVI_LAST);
if(hHwnd == NULL)
COptWorkSpcBar::m_pwndClassView->InsertItem("NULL PARENT",8,8,TVI_ROOT,TVI_LAST);
COptWorkSpcBar::m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
return hHwnd;
}
default:;
{
hHwnd= COptWorkSpcBar::m_pwndClassView->InsertItem(pszItem,5,5,hParent,TVI_LAST);
if(hHwnd == NULL)
COptWorkSpcBar::m_pwndClassView->InsertItem("NULL PARENT",8,8,TVI_ROOT,TVI_LAST);
COptWorkSpcBar::m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
return hHwnd;
}
}
return 0;
}
int COptWorkSpcBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
return 0;
}
void COptWorkSpcBar::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if(m_wndTabCtrl.m_hWnd == NULL)return;
{
CRect rc(0,0,cx,cy);
//rc.DeflateRect(2,2,2,2);
m_wndTabCtrl.MoveWindow(&rc);
}
CRect rc;
m_wndTabCtrl.GetClientRect(&rc);
{
CRect rt(rc);
CRect rc;
m_wndTabCtrl.GetItemRect(0,&rc);
rt.DeflateRect(0,0,0,rc.Height()+5);
GetDlgItem(IDC_STATIC_BASE_CUSTOM)->MoveWindow(&rt);
m_pwndClassView->MoveWindow(&rt);
//m_pwndResView->MoveWindow(&rt);
m_pwndFileView->MoveWindow(&rt);
}
}
BOOL COptWorkSpcBar::OnInitDialog()
{
CDialog::OnInitDialog();
CreateViews();
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -