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

📄 xbreadcrumbbar.h

📁 读取XML信息
💻 H
字号:
// XBreadCrumbBar.h  Version 1.0 - article available at www.codeproject.com
//
// Author:  Hans Dietrich
//          hdietrich@gmail.com
//
// License:
//     This software is released into the public domain.  You are free to use
//     it in any way you like, except that you may not sell this source code.
//
//     This software is provided "as is" with no expressed or implied warranty.
//     I accept no liability for any damage or loss of business that this 
//     software may cause.
//
///////////////////////////////////////////////////////////////////////////////

#ifndef XBREADCRUMBBAR_H
#define XBREADCRUMBBAR_H

#include "XHtmlDraw.h"
#include "XHtmlDrawLink.h"

//=============================================================================
class CXBreadCrumbBar : public CXHtmlDraw
//=============================================================================
{
//=============================================================================
// Construction
//=============================================================================
public:
	CXBreadCrumbBar();
	virtual ~CXBreadCrumbBar();

//=============================================================================
// Attributes
//=============================================================================
public:
	BOOL				GetBoldSeparator() { return m_bBoldSeparator; }
	int					GetCount() { return m_nCount; }
	XHTMLDRAWSTRUCT *	GetDrawStruct(int index);
	size_t				GetCrumb(int index, BOOL bStripHtml,
							LPTSTR pszCrumb, size_t size);
	int					GetCrumb(LPCTSTR lpszCrumb, BOOL bStripHtml);
	CXHtmlDrawLink *	GetLinks() { return &m_Links; }
	int					GetCrumbs(TCHAR *** crumbs);
	TCHAR *				GetSeparator() { return m_pszSeparator; }
	CXBreadCrumbBar&	InitDrawStruct(XHTMLDRAWSTRUCT * pXHDS, 
							BOOL bBoldSeparator = TRUE);
	CXBreadCrumbBar&	SetAppCommands(XHTMLDRAW_APP_COMMAND * paAppCommands, 
							int nAppCommands);
	CXBreadCrumbBar&	SetBoldSeparator(BOOL bBold) 
						{ m_bBoldSeparator = bBold; return *this; }
	CXBreadCrumbBar&	SetCrumbs(const TCHAR * crumbs[], int count);
	CXBreadCrumbBar&	SetCrumbs(LPCTSTR crumbs, TCHAR sepchar);
	CXBreadCrumbBar&	SetSeparator(LPCTSTR lpszSep);

//=============================================================================
// Operations
//=============================================================================
public:
	int		Draw(HWND hWnd, BOOL bUnderlineUrl, int index = -1);
	int		Draw(HDC hdc, BOOL bUnderlineUrl, int index = -1);
	int		IsAnchorUnderlined();
	int		IsOverAnchor(HWND hWnd);
	BOOL	RelayClick(HWND hWnd);
	void	RelayMouseMove(HWND hWnd);

//=============================================================================
// Implementation
//=============================================================================
protected:
	void	CleanUp();

	TCHAR **			m_crumbs;				// array of breadcrumbs
	int					m_nCount;				// no. of breadcrumbs
	TCHAR *				m_pszSeparator;			// separator string
	BOOL				m_bBoldSeparator;		// TRUE = separator will be bold 
												// if crumbs are bold
	RECT				m_rect;					// rect of entire CXBreadCrumbBar
	CXHtmlDrawLink		m_Links;				// links for web and APP:
	XHTMLDRAWSTRUCT *	m_pDS;					// array of draw structs
};

#endif //XBREADCRUMBBAR_H

⌨️ 快捷键说明

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