次の方法で共有


CMonthCalCtrl::GetRange

現在の最小を取得し、最大値は月間予定表コントロールのセットに日付を入力します。

DWORD GetRange(
   COleDateTime* pMinRange,
   COleDateTime* pMaxRange 
) const;
DWORD GetRange(
   CTime* pMinRange,
   CTime* pMaxRange 
) const;
DWORD GetRange(
   LPSYSTEMTIME pMinRange,
   LPSYSTEMTIME pMaxRange 
) const;

パラメーター

  • pMinRange
    COleDateTime のオブジェクト、CTime のオブジェクトまたは範囲の最低限の日付を含む SYSTEMTIME の構造体へのポインター。

  • pMaxRange
    COleDateTimeCTime オブジェクト、オブジェクト、または範囲の上限で日付を含む SYSTEMTIME の構造体へのポインター。

戻り値

ゼロである DWORD (制限値は設定されません) またはバインド情報を指定する次の値の組み合わせ。

説明

GDTR_MAX

最大限には、コントロールに設定されています; pMaxRange は有効で、適切な日付情報が含まれています。

GDTR_MIN

最小制限は、コントロールに対して設定; pMinRange は有効で、適切な日付情報が含まれています。

解説

このメンバー関数は Windows SDKに記述されている Win32 メッセージの動作を MCM_GETRANGE実行します。MFC の GetRangeの実装では、COleDateTime の使用、CTime の使用、または SYSTEMTIME の構造体の使用を指定できます。

使用例

// This code fragment sets a variety of ranges in the
// control, and calls a separate function to show the
// set range to the user.

void CMonthCalDlg::OnBnClickedRangebutton()
{
   // set minimum of January 1st, 1995 with no maximum
   COleDateTime dtMin;
   COleDateTime dtMax;

   dtMin = COleDateTime(1995, 1, 1, 0, 0, 0);
   dtMax.SetStatus(COleDateTime::null);
   m_calCtrl1.SetRange(&dtMin, &dtMax);
   ShowRange(&m_calCtrl1);

   // set no minimum and a maximum of September 30th, 1997
   dtMin.SetStatus(COleDateTime::null);
   dtMax = COleDateTime(1997, 9, 30, 0, 0, 0);
   m_calCtrl1.SetRange(&dtMin, &dtMax);
   ShowRange(&m_calCtrl1);

   // set minimum of April 15, 1992 and maximum of June 5, 2002
   dtMin = COleDateTime(1992, 4, 15, 0, 0, 0);
   dtMax = COleDateTime(2002, 6, 5, 0, 0, 0);
   m_calCtrl1.SetRange(&dtMin, &dtMax);
   ShowRange(&m_calCtrl1);
}

void CMonthCalDlg::ShowRange(CMonthCalCtrl* pMoCalCtrl)
{
   ASSERT(pMoCalCtrl != NULL);
   CString strMessage;
   COleDateTime dtMinimum;
   COleDateTime dtMaximum;

   // Get the range
   DWORD dwResult = pMoCalCtrl->GetRange(&dtMinimum, &dtMaximum);

   // If a minimum was specified, format it
   // otherwise, indicate that there is no lower bound
   if (dwResult & GDTR_MIN)
      strMessage += dtMinimum.Format(_T("Minimum range is %x %X.\r\n"));
   else
      strMessage += _T("No minimum range.\r\n");

   // Treat maximum similarly
   if (dwResult & GDTR_MAX)
      strMessage += dtMaximum.Format(_T("Maximum range is %x %X.\r\n"));
   else
      strMessage += _T("No maximum range.\r\n");

   // Show the user
   AfxMessageBox(strMessage);
}

必要条件

Header: afxdtctl.h

参照

関連項目

CMonthCalCtrl クラス

階層図

CMonthCalCtrl::SetRange