CalendarFrm.h
上传用户:desheng311
上传日期:2007-01-08
资源大小:47k
文件大小:3k
源码类别:

其他小程序

开发平台:

Visual C++

  1. /***************************************************************************
  2.    致看到这些源代码的兄弟:
  3.        你好!
  4.        这本来是我为一个商业PDA产品开发的日历程序,最近移植于PC机上, 所以算法
  5.    和数据部分是用纯C++写的,不涉及MFC,所有的代码都是以短节省存储空间为主要目
  6.    的.
  7.    很高兴你对这些代码有兴趣,你可以随意复制和使用些代码,唯一有一点小小的
  8.    愿望:在你使用和复制给别人时,别忘注明这些代码作者:-)。程序代码也就罢了,后
  9.    面的数据可是我辛辛苦苦从万年历上找出来输进去的。
  10.    如果你有什么好的意见不妨Mail给我。
  11.        wangfei@hanwang.com.cn
  12.    或
  13.    wangfei@engineer.com.cn
  14.                                                                  2000年3月
  15. ****************************************************************************/
  16. #if !defined(AFX_CALENDARFRM_H__9EC203BC_1574_4986_B73C_A44C975739CC__INCLUDED_)
  17. #define AFX_CALENDARFRM_H__9EC203BC_1574_4986_B73C_A44C975739CC__INCLUDED_
  18. #if _MSC_VER > 1000
  19. #pragma once
  20. #endif // _MSC_VER > 1000
  21. #include "Calendar1.h"
  22. // CalendarFrm.h : header file
  23. //
  24. /////////////////////////////////////////////////////////////////////////////
  25. // CCalendarFrm window
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CYearEdit window
  28. class CYearEdit : public CEdit
  29. {
  30. // Construction
  31. public:
  32. CYearEdit();
  33. // Attributes
  34. public:
  35. // Operations
  36. public:
  37. // Overrides
  38. // ClassWizard generated virtual function overrides
  39. //{{AFX_VIRTUAL(CYearEdit)
  40. public:
  41. virtual BOOL Create(const RECT& rect, CWnd* pParentWnd, UINT nID);
  42. //}}AFX_VIRTUAL
  43. // Implementation
  44. public:
  45. virtual ~CYearEdit();
  46. // Generated message map functions
  47. protected:
  48. //{{AFX_MSG(CYearEdit)
  49. afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  50. afx_msg void OnKillFocus(CWnd* pNewWnd);
  51. //}}AFX_MSG
  52. DECLARE_MESSAGE_MAP()
  53. };
  54. class CCalendarFrm : public CWnd
  55. {
  56. private:
  57. CCalendar        m_oCalendar;
  58. CSpinButtonCtrl  m_oYearSelect;
  59. CComboBox        m_oMonthSelect;
  60. CYearEdit        m_oYearEdit;
  61. CButton          m_obutToday;
  62. CFont            m_oDispFont;
  63. // Construction
  64. public:
  65. CCalendarFrm();
  66. // Attributes
  67. public:
  68.    void SetDate(WORD iYear, WORD iMonth, WORD iDay)
  69.    {
  70.    m_oCalendar.SetDate(iYear, iMonth, iDay);
  71.    }
  72.    void GetDate(WORD &iYear, WORD &iMonth, WORD &iDay)
  73.    {
  74.    m_oCalendar.GetDate(iYear, iMonth, iDay);
  75.    }
  76.    
  77.    CFont * GetDispFont(){return &m_oDispFont;}
  78. // Operations
  79. public:
  80. // Overrides
  81. // ClassWizard generated virtual function overrides
  82. //{{AFX_VIRTUAL(CCalendarFrm)
  83. public:
  84. virtual BOOL Create(RECT &rect, CWnd * pParentWnd, UINT nID);
  85. //}}AFX_VIRTUAL
  86. // Implementation
  87. public:
  88. virtual ~CCalendarFrm();
  89. // Generated message map functions
  90. private:
  91. void l_PaintToday(CPaintDC &dc);
  92. void l_PaintBorder(CPaintDC &dc);
  93. void l_PaintChineseInfo(CPaintDC &dc);
  94. void l_CreateDispFont();
  95. protected:
  96. //{{AFX_MSG(CCalendarFrm)
  97. afx_msg void OnPaint();
  98. afx_msg int  OnCreate(LPCREATESTRUCT lpCreateStruct);
  99. //}}AFX_MSG
  100. afx_msg void OnSelChange(LONG iYearMonth, LONG iDay);
  101. afx_msg void OnMonthChange();
  102. afx_msg void OnYearChange();
  103. afx_msg void OnTodayClick();
  104. DECLARE_MESSAGE_MAP()
  105. };
  106. /////////////////////////////////////////////////////////////////////////////
  107. //{{AFX_INSERT_LOCATION}}
  108. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  109. #endif // !defined(AFX_CALENDARFRM_H__9EC203BC_1574_4986_B73C_A44C975739CC__INCLUDED_)