AutoFont.h
上传用户:guanx8y8
上传日期:2007-07-30
资源大小:326k
文件大小:2k
开发平台:

Visual C++

  1. //CAutoFont class definition
  2. //
  3. //This class will simplify the creation and use of the CFont object
  4. //By Jamie Nordmeyer
  5. #ifndef AUTOFONT
  6. #define AUTOFONT
  7. class CAutoFont : public CFont
  8. {
  9. private:
  10. LOGFONT lf;//Stores this fonts LogFont for quick retrieval
  11. COLORREF m_crColour;
  12. CString GetToken(CString& str, LPCTSTR c);//Used in Expand function
  13. public:
  14. int GetRedValue();
  15. int GetGreenValue();
  16. int GetBlueValue();
  17. COLORREF GetColour();
  18. void SetColour(COLORREF crColour);
  19. void SetColour(int r, int g, int b);
  20. void SetNonAntialiasQuality(int nQuality=3);
  21. void SetAntialiasQuality(int nQuality=4);
  22. CAutoFont();//Default Constructor
  23. CAutoFont(CString facename);//Font name constructor
  24. CAutoFont(LOGFONT& logfont);//LogFont constructor
  25. CAutoFont(CFont font);//Constructs font based on existing font
  26. CAutoFont& operator =(CAutoFont &rhs);
  27. ~CAutoFont();//Destructor
  28. LONG SetHeight(LONG height);
  29. LONG SetWidth(LONG width);
  30. LONG SetEscapement(LONG esc);
  31. LONG SetOrientation(LONG or);
  32. LONG SetWeight(LONG weight);
  33. BYTE SetCharset(BYTE charset);
  34. BYTE SetOutPrecision(BYTE op);
  35. BYTE SetClipPrecision(BYTE cp);
  36. BYTE SetQuality(BYTE qual);
  37. BYTE SetPitchAndFamily(BYTE paf);
  38. CString SetFaceName(CString facename);
  39. LPCTSTR SetFaceName(LPCTSTR facename);
  40. BOOL SetBold(BOOL B);
  41. BOOL SetItalic(BOOL i);
  42. BOOL SetUnderline(BOOL u);
  43. BOOL SetStrikeOut(BOOL s);
  44. void SetLogFont(LOGFONT& logfont);
  45. LONG GetHeight();
  46. LONG GetWidth();
  47. LONG GetEscapement();
  48. LONG GetOrientation();
  49. LONG GetWeight();
  50. BYTE GetCharset();
  51. BYTE GetOutPrecision();
  52. BYTE GetClipPrecision();
  53. BYTE GetQuality();
  54. BYTE GetPitchAndFamily();
  55. LPCTSTR GetFaceName();
  56. BOOL GetBold();
  57. BOOL GetItalic();
  58. BOOL GetUnderline();
  59. BOOL GetStrikeOut();
  60. //GetLogFont is a member of CFont, and is used as normal.
  61. //These two functions are good for registry...
  62. CString ContractFont();//Places font info into single string
  63. void ExtractFont(CString& str);//Parses single string font info.
  64. };
  65. #endif