2025-11-27 16:46:48 +09:00

142 lines
3.9 KiB
C++

// ==========================================================================
// Class Specification : COXCalendarEdit, COXMonthCalPopup
// ==========================================================================
// Version: 9.3
// This software along with its related components, documentation and files ("The Libraries")
// is © 1994-2007 The Code Project (1612916 Ontario Limited) and use of The Libraries is
// governed by a software license agreement ("Agreement"). Copies of the Agreement are
// available at The Code Project (www.codeproject.com), as part of the package you downloaded
// to obtain this file, or directly from our office. For a copy of the license governing
// this software, you may contact us at legalaffairs@codeproject.com, or by calling 416-849-8900.
// //////////////////////////////////////////////////////////////////////////
#if !defined(AFX_OXCALENDAREDIT_H__B08CF643_2C81_4A4B_89FF_9223FABF0040__INCLUDED_)
#define AFX_OXCALENDAREDIT_H__B08CF643_2C81_4A4B_89FF_9223FABF0040__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// OXCalendarEdit.h : header file
//
#include "OXDllExt.h"
#include "OXDropEdit.h"
#include "OXMaskedEdit.h"
class OX_CLASS_DECL COXMonthCalPopup : public CMonthCalCtrl
{
// Construction
public:
COXMonthCalPopup();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(COXMonthCalPopup)
public:
//}}AFX_VIRTUAL
// Implementation
public:
BOOL Pick(CRect rect, CRect rectParent, COleDateTime dtInitialDate, COleDateTime& dtPickedDate);
virtual ~COXMonthCalPopup();
// Generated message map functions
protected:
//{{AFX_MSG(COXMonthCalPopup)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
// This function modifies the given rectangle so that it is within the bounds
// of the closest monitor.
void AdjustDisplayRectangle(CRect& rect, CRect rectParent);
};
/////////////////////////////////////////////////////////////////////////////
// COXCalendarEdit window
/*
Description:
This class implementes a date drop edit control with a calendar popup
*/
class OX_CLASS_DECL COXCalendarEdit : public COXDropEdit<COXMaskedEdit>
{
// Construction
public:
COXCalendarEdit(LPCTSTR lpszDateFormat);
COXCalendarEdit();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(COXCalendarEdit)
afx_msg void OnKillFocus(CWnd* pNewWnd);
//}}AFX_VIRTUAL
// Implementation
public:
// Determines if the given date is empty
BOOL IsEmptyDate(LPCTSTR lpszTestDate);
// Determines if the given gate is valid
virtual BOOL IsValidDate(LPCTSTR lpszTestDate);
// Return the date in a CString object
virtual CString GetText();
// Sets the date from a string having a formatted date
virtual void SetText(LPCTSTR lpszDate);
// Returns a string with the formatted date from a COleDateTime object
CString GetStringFromDate(COleDateTime dtDate);
// Returns a COleDateTime object from a formatted string
COleDateTime GetDateFromString(LPCTSTR lpszDateString);
// Sets the format of the date
void SetDateFormat(LPCTSTR lpszDateFormat);
virtual ~COXCalendarEdit();
// Generated message map functions
protected:
// Returns the error string to be displayed when a bad date is entered.
virtual CString GetErrorString();
virtual BOOL InitializeDropEdit();
virtual void OnDropButton();
DECLARE_DYNCREATE(COXCalendarEdit)
//{{AFX_MSG(COXCalendarEdit)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
COXMonthCalPopup m_Calendar;
CString m_strDateFormat;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_OXCALENDAREDIT_H__B08CF643_2C81_4A4B_89FF_9223FABF0040__INCLUDED_)