| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #pragma once
- /////////////////////////////////////////////////////////////////////////////
- // CInplaceTimeEdit 内置时间编辑控件
- /////////////////////////////////////////////////////////////////////////////
- #include "MaskEdit.h"
- class CPropertyGridExtItemTime; // 前向引用
- class CInplaceTimeEdit : public CTimeEdit
- {
- public:
- // 构造函数:
- // bHasSecond -表明是否包含“秒”
- CInplaceTimeEdit(BOOL bHasSecond);
- virtual ~CInplaceTimeEdit();
- void SetValue(CString strValue);
- void Create(CPropertyGridExtItemTime* pItem, CRect rect);
- void DestroyItem();
- protected:
- CString m_strValue;
- CBrush m_brBack;
- COLORREF m_clrBack;
- CWnd* m_pGrid;
- CPropertyGridExtItemTime* m_pItem;
- protected:
- //{{AFX_VIRTUAL(CInplaceTimeEdit)
- //}}AFX_VIRTUAL
- virtual BOOL SelectConstraint(int nDirection, BOOL bCircle);
- //{{AFX_MSG(CInplaceTimeEdit)
- afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
- afx_msg void OnEnKillfocus();
- afx_msg void OnEnSetfocus();
- afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
- afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
- afx_msg UINT OnGetDlgCode();
- void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- friend class CPropertyGridExtItemTime;
- };
- /////////////////////////////////////////////////////////////////////////////
- // CPropertyGridExtItemTime 该属性表项使用格式化输入控件输入和显示时间
- /////////////////////////////////////////////////////////////////////////////
- class CPropertyGridExtItemTime : public CPropertyGridItem
- {
- public:
- // 构造函数:
- // strCaption -属性名称
- // dtTime -初始属性值,缺省为当前时间
- // bHasSecond -表明是否包含“秒”
- CPropertyGridExtItemTime(CString strCaption, COleDateTime dtTime = COleDateTime(time(NULL)), BOOL bHasSecond = FALSE);
- // 构造函数:
- // nID -属性ID
- // dtTime -初始属性值,缺省为当前时间
- // bHasSecond -表明是否包含“秒”
- CPropertyGridExtItemTime(UINT nID, COleDateTime dtTime = COleDateTime(time(NULL)), BOOL bHasSecond = FALSE);
-
- virtual ~CPropertyGridExtItemTime();
- // 设置属性值:
- // dtTime-新的属性值
- void SetTime(COleDateTime dtTime);
- // 获取属性值
- COleDateTime GetTime();
- // 把一个时间对象绑定到属性项
- void BindToTime(COleDateTime* pBindTime);
- protected:
- COleDateTime m_dtTime; // 属性值
- BOOL m_bHasSecond; // 表明是否包含“秒”
- COleDateTime* m_pBindTime; // 绑定到属性项的时间对象
- // 当属性值由于用户输入而改变时,调用此函数
- virtual void SetValue(CString strValue);
- virtual void OnSelect();
- virtual void OnValidateEdit();
- virtual void SetEditText(CString str);
- virtual BOOL OnChar(UINT nChar);
- virtual void OnLButtonDblClk();
- CInplaceTimeEdit m_wndTimeEdit; // 内置时间编辑控件
- friend class CInplaceTimeEdit;
- };
|