共用方式為


CDateTimeCtrl::GetRange

擷取目前最小和最大容許系統時間的日期時間選擇器控制項。

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

參數

  • pMinRange
    out 包含最早的時間 COleDateTime 物件或 CTime 物件的指標。 CDateTimeCtrl 物件允許。

  • pMaxRange
    out 包含最新的時間的 COleDateTime 物件或 CTime 物件的指標。 CDateTimeCtrl 物件允許。

傳回值

包含值的旗標 DWORD 數值的範圍設定。 如果

return value & GDTR_MAX == 0

然後第二個參數是有效的。 同樣地,如果,

return value & GDTR_MIN == 0

然後第一個參數是有效的。

備註

此成員函式實作 Win32 訊息 DTM_GETRANGE的行為 Windows SDK,如中所述。 在 MFC 中實作,您可以指定 COleDateTimeCTime 用法。

範例

// This function will set several ranges in the control, then 
// call the ShowRange() function to show the set ranges to the 
// user. 
void CDateTimeDlg::OnBnClickedRangesbutton()
{
   // 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_DateTimeCtrl.SetRange(&dtMin, &dtMax);
   ShowRange(&m_DateTimeCtrl);

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

   // 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_DateTimeCtrl.SetRange(&dtMin, &dtMax);
   ShowRange(&m_DateTimeCtrl);
}

void CDateTimeDlg::ShowRange(CDateTimeCtrl* pCtrl)
{
   ASSERT(pCtrl != NULL);
   CString strMessage;
   COleDateTime dtMinimum;
   COleDateTime dtMaximum;

   // Get the range.
   DWORD dwResult = pCtrl->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

請參閱

參考

CDateTimeCtrl 類別

階層架構圖表

CDateTimeCtrl::SetRange