FontCurveCtl.h
上传用户:sz81710966
上传日期:2013-03-01
资源大小:409k
文件大小:4k
源码类别:

多国语言处理

开发平台:

Visual C++

  1. #if !defined(AFX_FONTCURVECTL_H__07DD5C1D_3D6C_4899_8A1B_102C259251B5__INCLUDED_)
  2. #define AFX_FONTCURVECTL_H__07DD5C1D_3D6C_4899_8A1B_102C259251B5__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. #include "..includeCurvePara.h"
  7. /////////////////////////////////////////////////////////////////////////////
  8. // CFontCurveCtrl : See FontCurveCtl.cpp for implementation.
  9. class CFontCurveCtrl : public COleControl
  10. {
  11. DECLARE_DYNCREATE(CFontCurveCtrl)
  12. // Constructor
  13. public:
  14. CFontCurveCtrl();
  15. // Overrides
  16. // ClassWizard generated virtual function overrides
  17. //{{AFX_VIRTUAL(CFontCurveCtrl)
  18. public:
  19. virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
  20. virtual void DoPropExchange(CPropExchange* pPX);
  21. virtual void OnResetState();
  22. //}}AFX_VIRTUAL
  23. // Implementation
  24. protected:
  25. ~CFontCurveCtrl();
  26. BEGIN_OLEFACTORY(CFontCurveCtrl)        // Class factory and guid
  27. virtual BOOL VerifyUserLicense();
  28. virtual BOOL GetLicenseKey(DWORD, BSTR FAR*);
  29. END_OLEFACTORY(CFontCurveCtrl)
  30. DECLARE_OLETYPELIB(CFontCurveCtrl)      // GetTypeInfo
  31. DECLARE_PROPPAGEIDS(CFontCurveCtrl)     // Property page IDs
  32. DECLARE_OLECTLTYPE(CFontCurveCtrl) // Type name and misc status
  33. // Message maps
  34. //{{AFX_MSG(CFontCurveCtrl)
  35. afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp);
  36. afx_msg void OnSize(UINT nType, int cx, int cy);
  37. //}}AFX_MSG
  38. DECLARE_MESSAGE_MAP()
  39. // Dispatch maps
  40. //{{AFX_DISPATCH(CFontCurveCtrl)
  41. afx_msg void SetBackColor(OLE_COLOR backColor);
  42. afx_msg void SetGridLineColor(OLE_COLOR gridlineColor);
  43. afx_msg void SetGridColor(OLE_COLOR gridColor);
  44. afx_msg void SetGridHoriNum(short horiNum);
  45. afx_msg void SetGridVerNum(short verNum);
  46. afx_msg void SetGridShowType(short showType);
  47. afx_msg void SetGridDrawType(short drawType);
  48. afx_msg BOOL ShowGridData(BSTR FAR* pInData, short nWidth, short nHeight, short nShowType = GRID_SHOW_POS_HORI);
  49. //}}AFX_DISPATCH
  50. DECLARE_DISPATCH_MAP()
  51. // Event maps
  52. //{{AFX_EVENT(CFontCurveCtrl)
  53. //}}AFX_EVENT
  54. DECLARE_EVENT_MAP()
  55. // Dispatch and event IDs
  56. public:
  57. enum {
  58. //{{AFX_DISP_ID(CFontCurveCtrl)
  59. dispidSetBackColor = 1L,
  60. dispidSetGridLineColor = 2L,
  61. dispidSetGridColor = 3L,
  62. dispidSetGridHoriNum = 4L,
  63. dispidSetGridVerNum = 5L,
  64. dispidSetGridShowType = 6L,
  65. dispidSetGridDrawType = 7L,
  66. dispidShowGridData = 8L,
  67. //}}AFX_DISP_ID
  68. };
  69. private:
  70. //作为控件属性进行外部设置
  71. COLORREF m_colorBackGround;
  72. COLORREF m_colorGridLine;
  73. COLORREF m_colorGrid;
  74. int m_nGridHeightNum;                      //底板垂直方格数
  75. int m_nGridWidthNum;    //底板水平方格数
  76. int m_nGridLineWidth;    //方格线宽
  77. int m_nGridShowType;              //水平显示还是垂直显示
  78. int m_nGridDrawType;   //是画矩形区域还是画圆形区域
  79. //作为优化使用的属性
  80. CGridList m_gridList;    //方格队列
  81. BYTE m_byShowBuf[GRID_SHOW_BUF_LEN];    //存放方格的数据队列
  82. int   m_nGridShowWidth;   //要显示的水平方格数
  83. int   m_nGridShowHeight;   //要显示的纵向方格数 
  84. private:
  85. bool DrawGrid(CDC * pDC, CRect &rc);
  86. bool FillGrid(CDC * pDC, CRect &rc, COLORREF color, int nDrawType = GRID_DRAW_RECT);
  87. bool FreeAllResource();
  88. bool JudgeGridNum();
  89. public:
  90. bool ShowData(BYTE * pInData, int nWidth, int nHeight, int nShowType = GRID_SHOW_POS_HORI);
  91. };
  92. //{{AFX_INSERT_LOCATION}}
  93. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  94. #endif // !defined(AFX_FONTCURVECTL_H__07DD5C1D_3D6C_4899_8A1B_102C259251B5__INCLUDED)