FontCombo.h
上传用户:ledldq
上传日期:2007-01-04
资源大小:95k
文件大小:2k
源码类别:

打印编程

开发平台:

Visual C++

  1. #if !defined(AFX_FONTCOMBO_H__8DA387F0_9D67_11D1_8BAC_0000B43382FE__INCLUDED_)
  2. #define AFX_FONTCOMBO_H__8DA387F0_9D67_11D1_8BAC_0000B43382FE__INCLUDED_
  3. #if _MSC_VER >= 1000
  4. #pragma once
  5. #endif // _MSC_VER >= 1000
  6. // FontCombo.h : header file
  7. //
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CFontCombo window
  10. typedef enum {FONTS} STYLE;
  11. class CFontCombo : public CComboBox
  12. {
  13. // Construction
  14. public:
  15. CFontCombo();
  16. CFontCombo(STYLE);
  17. // Attributes
  18. public:
  19. void SetHilightColors (COLORREF hilight,COLORREF hilightText)
  20. {
  21. m_clrHilight = hilight;
  22. m_clrHilightText = hilightText;
  23. };
  24. void SetNormalColors (COLORREF clrBkgnd,COLORREF clrText)
  25. {
  26. m_clrNormalText = clrText;
  27. m_clrBkgnd = clrBkgnd;
  28. };
  29. static BOOL CALLBACK EnumFontProc (LPLOGFONT lplf, LPTEXTMETRIC lptm, DWORD dwType, LPARAM lpData);
  30. void FillFonts ();
  31. int GetSelFont (LOGFONT&);
  32. // Operations
  33. public:
  34. // Overrides
  35. // ClassWizard generated virtual function overrides
  36. //{{AFX_VIRTUAL(CFontCombo)
  37. public:
  38. virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
  39. virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
  40. //}}AFX_VIRTUAL
  41. // Implementation
  42. public:
  43. virtual ~CFontCombo();
  44. void InitFonts ();
  45. // Generated message map functions
  46. protected:
  47. STYLE m_enStyle;
  48. COLORREF m_clrHilight;
  49. COLORREF m_clrNormalText;
  50. COLORREF m_clrHilightText;
  51. COLORREF m_clrBkgnd;
  52. BOOL m_bInitOver;
  53. void DrawDefault (LPDRAWITEMSTRUCT);
  54. void DrawFont(LPDRAWITEMSTRUCT);
  55. //{{AFX_MSG(CFontCombo)
  56. afx_msg void OnDestroy();
  57. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  58. //}}AFX_MSG
  59. afx_msg long OnInitFonts (WPARAM, LPARAM);
  60. DECLARE_MESSAGE_MAP()
  61. };
  62. /////////////////////////////////////////////////////////////////////////////
  63. //{{AFX_INSERT_LOCATION}}
  64. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  65. #endif // !defined(AFX_FONTCOMBO_H__8DA387F0_9D67_11D1_8BAC_0000B43382FE__INCLUDED_)