⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 favwnd2.cpp

📁 一个多窗口的浏览器的程序benbrowse
💻 CPP
字号:
// FavWnd2.cpp : implementation file
//

#include "stdafx.h"
#include "..\benbenBrowser.h"
#include "FavWnd2.h"
#include "BenTreeCtrl.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CFavWnd2

IMPLEMENT_DYNCREATE(CFavWnd2, CWnd)

CFavWnd2::CFavWnd2()
{
}

CFavWnd2::~CFavWnd2()
{
}


BEGIN_MESSAGE_MAP(CFavWnd2, CWnd)
	//{{AFX_MSG_MAP(CFavWnd2)
	ON_WM_CREATE()
	ON_WM_SIZE()
	ON_COMMAND(ID_ADDTOFAVORITES_FAVORITE, OnAddtofavoritesFavorite)
	ON_COMMAND(ID_ORGANIZE_FAVORITES, OnOrganizeFavorites)



	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFavWnd2 message handlers

int CFavWnd2::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	m_favtree.Create(WS_CHILD|WS_VISIBLE|TVS_SHOWSELALWAYS|TVS_LINESATROOT|
	TVS_FULLROWSELECT |TVS_TRACKSELECT|TVS_SINGLEEXPAND|TVS_HASLINES   ,
	CRect(0,0,0,0), this, 100);
	m_favtree.ModifyStyleEx(0, WS_EX_STATICEDGE);
	m_favtree.InitSystemImageLists();


	RefreshFavTree();

	//CImageList img;

	if (!m_ToolBar.CreateEx(this))
	{
		TRACE0("Failed to create toolbar\n");
		return -1;      // fail to create
	}
	// set up toolbar properties
	CImageList img;
	img.Create(16, 16, ILC_COLORDDB|ILC_MASK, 3, 1);
	HBITMAP hbmp = ::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP7));
	ImageList_AddMasked(img.GetSafeHandle(), hbmp, RGB(255,0,255));
	m_ToolBar.GetToolBarCtrl().SetImageList(&img);
	img.Detach();

	m_ToolBar.ModifyStyle(0, TBSTYLE_FLAT | TBSTYLE_TRANSPARENT | TBSTYLE_LIST|TBSTYLE_TOOLTIPS);
	m_ToolBar.SetButtons(NULL, 3);


	// set up each toolbar button
	m_ToolBar.SetButtonInfo(0, ID_ADDTOFAVORITES_FAVORITE, TBSTYLE_BUTTON|TBSTYLE_AUTOSIZE, 2);
	
	m_ToolBar.SetButtonInfo(1, ID_ORGANIZE_FAVORITES, TBSTYLE_BUTTON|TBSTYLE_AUTOSIZE, 1);

//	m_ToolBar.SetButtonInfo(2, 12, TBSTYLE_BUTTON|TBSTYLE_AUTOSIZE, 0);

//	m_ToolBar.SetButtonInfo(2, ID_REFRESH_FAVWND, TBSTYLE_BUTTON|TBSTYLE_AUTOSIZE, 3);
//	m_ToolBar.GetToolBarCtrl().GetToolTips()->UpdateTipText(str, &m_ToolBar, 12);


	CRect rectToolBar;
	// set up toolbar button sizes

	if (!m_rebar.Create(this,RBS_BANDBORDERS|RBS_DBLCLKTOGGLE | RBS_REGISTERDROP |RBS_VARHEIGHT ,CCS_NODIVIDER |CCS_NOPARENTALIGN |WS_BORDER |WS_CHILD |WS_CLIPCHILDREN |WS_CLIPSIBLINGS |WS_VISIBLE | CBRS_TOP))
	{
		return -1;      // fail to create
	}

	m_rebar.AddBar(&m_ToolBar);
	REBARBANDINFO rbbi;

	rbbi.cbSize = sizeof(rbbi);
	rbbi.fMask = RBBIM_STYLE;
	rbbi.fStyle = RBBS_NOGRIPPER;
	m_rebar.GetReBarCtrl().SetBandInfo(0, &rbbi);

	return 0;
}

void CFavWnd2::OnSize(UINT nType, int cx, int cy) 
{
	CWnd::OnSize(nType, cx, cy);
	
	// TODO: Add your message handler code here
	m_rebar.MoveWindow(0,0, cx,26);
	m_favtree.MoveWindow(0,26,cx,cy-26);
}


void CFavWnd2::OnAddtofavoritesFavorite() 
{
	// TODO: Add your command handler code here
	::SendMessage(AfxGetApp()->m_pMainWnd->m_hWnd,WM_COMMAND,ID_ADDTOFAVORITES_FAVORITE,0);
}

void CFavWnd2::OnOrganizeFavorites() 
{
	// TODO: Add your command handler code here
	::SendMessage(AfxGetApp()->m_pMainWnd->m_hWnd,WM_COMMAND,ID_ORGANIZE_FAVORITES,0);
}

void CFavWnd2::RefreshFavTree()
{
	TCHAR           szPath[MAX_PATH];
	SHGetSpecialFolderPath(NULL,szPath,CSIDL_FAVORITES,0);
	m_favtree.PopulateTree2(szPath);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -