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

📄 fontcombo.h

📁 Visual C++图形用户界面开发指南 李博轩等编著 配套源码光盘
💻 H
字号:
#include <afxtempl.h>
#include "TipWnd.h"

#ifndef __FONT_COMBO__
#define __FONT_COMBO__

#define TRUETYPE_FONT		0x0001
#define PRINTER_FONT		0x0002
#define DEVICE_FONT			0x0004

class CFontObj : public CObject
{
protected:	
	BOOL	m_bInUse;
	DWORD	m_nFlags;
public:
	CFontObj(DWORD nFlags)
	{	
		m_nFlags = nFlags;
		m_bInUse = FALSE;
	}

	CFontObj(CFontObj* pFontObj)
	{	
		m_nFlags = pFontObj->GetFlags();
		m_bInUse = pFontObj->GetFontInUse();
	}

	int GetFlags() const { return m_nFlags; }
	BOOL GetFontInUse() { return m_bInUse; }
	void SetFontInUse(BOOL bInUse) { m_bInUse = bInUse; }
};

class CFontCombo : public CComboBox
{

public:
	CFontCombo();
	void Initialize();

protected:
	BOOL EnumerateFonts();
	void AddFont(CString strName, DWORD dwFlags);
	void SetCurrentFont();
	void SetFontInUse(const CString& strFont);
public:
	static BOOL CALLBACK AFX_EXPORT EnumFamScreenCallBackEx(
	ENUMLOGFONTEX* pelf, NEWTEXTMETRICEX* /*lpntm*/, int FontType, 
	LPVOID pThis);

	static BOOL CALLBACK AFX_EXPORT EnumFamPrinterCallBackEx(
	ENUMLOGFONTEX* pelf, NEWTEXTMETRICEX* /*lpntm*/, int FontType, 
	LPVOID pThis);

// Attributes
public:

protected:
	CTipWnd			m_wndTip;
	CString			m_strFontSave;
	CString			m_strDefault;
	CImageList		m_img;

	CTypedPtrMap<CMapStringToPtr, CString, CFontObj*> m_mapFonts;
	CTypedPtrMap<CMapStringToPtr, CString, CFontObj*> m_mruFonts;
 

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CFontCombo)
	public:
	virtual void DeleteItem(LPDELETEITEMSTRUCT lpDeleteItemStruct);
	virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
	virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CFontCombo();

	// Generated message map functions
protected:
	//{{AFX_MSG(CFontCombo)
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnDestroy();
	afx_msg void OnKillfocus();
	afx_msg void OnSetfocus();
	afx_msg void OnCloseUp();
	afx_msg void OnTimer(UINT nIDEvent);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
};

#endif

⌨️ 快捷键说明

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