📄 mybar.cpp
字号:
// mybar.cpp : implementation file
//
#include "stdafx.h"
#include "mybar.h"
#include "resource.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMyBar
CMyBar::CMyBar()
{
bl_state=false;
}
CMyBar::~CMyBar()
{
}
BEGIN_MESSAGE_MAP(CMyBar, baseCMyBar)
//{{AFX_MSG_MAP(CMyBar)
ON_WM_CREATE()
ON_WM_SIZE()
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMyBar message handlers
int CMyBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (baseCMyBar::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndChild.Create(WS_CHILD|WS_VISIBLE|TCS_BOTTOM|TCS_FORCEICONLEFT|TCS_RAGGEDRIGHT|TCS_FOCUSNEVER,
CRect(0,0,0,0), this, IDC_TABCTRL))
return -1;
// older versions of Windows* (NT 3.51 for instance)
// fail with DEFAULT_GUI_FONT
// if (!m_font.CreateStockObject(DEFAULT_GUI_FONT))
// if (!m_font.CreatePointFont(80, "MS Sans Serif"))
// return -1;
m_imageList.Create(16, 15, TRUE|ILC_COLORDDB|ILC_COLOR16, 2, 0);
HICON hIcon = NULL;
hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDI_CLASS), IMAGE_ICON, 16, 15, 0);
m_imageList.Add(hIcon);
hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDI_RES), IMAGE_ICON, 16, 15, 0);
m_imageList.Add(hIcon);
hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDI_FILE), IMAGE_ICON, 16, 15, 0);
m_imageList.Add(hIcon);
// m_wndChild.SetFont(&m_font);
m_wndChild.InsertItem(0,"ClassView");
m_wndChild.InsertItem(1,"ResourceView");
m_wndChild.InsertItem(2,"FileView");
m_wndChild.SetImageList(&m_imageList);
TC_ITEM item;
item.mask = TCIF_IMAGE;
item.iImage = 0;
m_wndChild.SetItem (0, &item );
item.iImage = 1;
m_wndChild.SetItem (1, &item );
item.iImage = 2;
m_wndChild.SetItem (2, &item );
if(!m_classview.Create(WS_CHILD|WS_VISIBLE|WS_DLGFRAME|TVS_HASLINES|TVS_LINESATROOT|TVS_HASBUTTONS,
CRect(0,0,0,0),&m_wndChild,IDC_TABCTRL))
return -1;
if(!m_resourceview.Create(WS_CHILD|WS_VISIBLE|WS_DLGFRAME|TVS_HASLINES|TVS_LINESATROOT|TVS_HASBUTTONS,
CRect(0,0,0,0),&m_wndChild,IDC_TABCTRL))
return -1;
if(!m_fileview.Create(WS_CHILD|WS_VISIBLE|WS_DLGFRAME|TVS_HASLINES|TVS_LINESATROOT|TVS_HASBUTTONS,
CRect(0,0,0,0),&m_wndChild,IDC_TABCTRL))
return -1;
m_classview.SetImageList(&m_imageList,TVSIL_NORMAL);
HTREEITEM i1 = m_classview.InsertItem("Root 1");
/*TVITEM tv;
tv.mask=TVIF_IMAGE;
tv.hItem=i1;
tv.iImage=0;
tv.cChildren=I_CHILDRENCALLBACK;
m_classview.SetItem(&tv);*/
m_classview.InsertItem("Branch 1", i1);
m_classview.InsertItem("Branch 2", i1);
m_classview.InsertItem("Branch 3", i1);
HTREEITEM i2 = m_classview.InsertItem("Root 2");
m_classview.InsertItem("Branch 1", i2);
m_classview.InsertItem("Branch 2", i2);
m_classview.InsertItem("Branch 3", i2);
HTREEITEM i3 = m_classview.InsertItem("Root 3");
m_classview.InsertItem("Branch 1", i3);
m_classview.InsertItem("Branch 2", i3);
HTREEITEM i4=m_classview.InsertItem("Branch 3", i3);
m_classview.InsertItem("Branch 3.1",i4);
//m_classview.SetItemImage(i1,0,1);
m_resourceview.ShowWindow(SW_HIDE);
m_fileview.ShowWindow(SW_HIDE);
m_wndChild.ShowWindow(SW_HIDE);
//m_wndChild.SetItemSize(CSize(50,20));
return 0;
}
void CMyBar::OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler)
{
baseCMyBar::OnUpdateCmdUI(pTarget, bDisableIfNoHndler);
UpdateDialogControls(pTarget, bDisableIfNoHndler);
}
void CMyBar::OnSize(UINT nType, int cx, int cy)
{
baseCMyBar::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
CRect rc;
GetClientRect(rc);
m_wndChild.MoveWindow(rc);
m_wndChild.GetClientRect(rc);
rc.bottom-=23;
m_classview.MoveWindow(rc);
m_resourceview.MoveWindow(rc);
m_fileview.MoveWindow(rc);
}
void CMyBar::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
baseCMyBar::OnTimer(nIDEvent);
int sel=m_wndChild.GetCurSel();
if(sel!=m_sel)
{
m_sel=sel;
switch(sel)
{
case 0:
m_classview.ShowWindow(SW_SHOW);
m_resourceview.ShowWindow(SW_HIDE);
m_fileview.ShowWindow(SW_HIDE);
break;
case 1:
m_resourceview.ShowWindow(SW_SHOW);
m_classview.ShowWindow(SW_HIDE);
m_fileview.ShowWindow(SW_HIDE);
break;
case 2:
m_fileview.ShowWindow(SW_SHOW);
m_classview.ShowWindow(SW_HIDE);
m_resourceview.ShowWindow(SW_HIDE);
break;
}
}
}
void CMyBar::CloseWorkRgn()
{
m_wndChild.ShowWindow(SW_HIDE);
m_classview.ShowWindow(SW_HIDE);
m_resourceview.ShowWindow(SW_HIDE);
m_fileview.ShowWindow(SW_HIDE);
}
void CMyBar::ShowWorkRgn()
{
m_wndChild.ShowWindow(SW_SHOW);
m_wndChild.SetCurSel(0);
m_classview.ShowWindow(SW_SHOW);
m_resourceview.ShowWindow(SW_HIDE);
m_fileview.ShowWindow(SW_HIDE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -