AutoFont.h
上传用户:wangdan
上传日期:2022-06-30
资源大小:739k
文件大小:2k
源码类别:

3D图形编程

开发平台:

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 fontColor;
  12. CString GetToken(CString& str, LPCTSTR c);//Used in Expand function
  13. HDC hDC;
  14. public:
  15. CAutoFont();//Default Constructor
  16. CAutoFont(CString facename);//Font name constructor
  17. CAutoFont(LOGFONT& logfont);//LogFont constructor
  18. CAutoFont(CFont font);//Constructs font based on existing font
  19. ~CAutoFont();//Destructor
  20. LONG SetHeight(LONG height);
  21. LONG SetHeightA(LONG height);
  22. LONG SetWidth(LONG width);
  23. LONG SetEscapement(LONG esc);
  24. LONG SetOrientation(LONG or);
  25. LONG SetWeight(LONG weight);
  26. BYTE SetCharset(BYTE charset);
  27. BYTE SetOutPrecision(BYTE op);
  28. BYTE SetClipPrecision(BYTE cp);
  29. BYTE SetQuality(BYTE qual);
  30. BYTE SetPitchAndFamily(BYTE paf);
  31. CString SetFaceName(CString facename);
  32. LPCTSTR SetFaceName(LPCTSTR facename);
  33. BOOL SetBold(BOOL B);
  34. BOOL SetItalic(BOOL i);
  35. BOOL SetUnderline(BOOL u);
  36. BOOL SetStrikeOut(BOOL s);
  37. void SetLogFont(LOGFONT& logfont);
  38. void SetFontColor(COLORREF color);
  39. void SetDC(HDC dc);
  40. LONG GetHeight();
  41. LONG GetWidth();
  42. LONG GetEscapement();
  43. LONG GetOrientation();
  44. LONG GetWeight();
  45. BYTE GetCharset();
  46. BYTE GetOutPrecision();
  47. BYTE GetClipPrecision();
  48. BYTE GetQuality();
  49. BYTE GetPitchAndFamily();
  50. LPCTSTR GetFaceName();
  51. BOOL GetBold();
  52. BOOL GetItalic();
  53. BOOL GetUnderline();
  54. BOOL GetStrikeOut();
  55. COLORREF GetFontColor();
  56. //GetLogFont is a member of CFont, and is used as normal.
  57. //These two functions are good for registry...
  58. CString ContractFont();//Places font info into single string
  59. void ExtractFont(CString& str);//Parses single string font info.
  60. //This function allows seamless use of the CFontDialog object
  61. //f: CFont or CAutoFont object to initialize the dlg with.
  62. //color: initial color shown in font color dialog
  63. //pPrinterDC: points to a printer DC if needed
  64. //pParentWnd: parent window of dialog, if needed
  65. //
  66. //The new font is returned through f, the new color through color
  67. void GetFontFromDialog(CFont *f=NULL, DWORD *color=0,
  68. CDC *pPrinterDC=NULL, CWnd *pParentWnd=NULL);
  69. };
  70. #endif