CDateTimeCtrl::GetTime

現在選択されている時刻を日時指定コントロールから取得し、SYSTEMTIME の指定された構造体に格納します。

BOOL GetTime(
   COleDateTime& timeDest 
) const;
DWORD GetTime(
   CTime& timeDest 
) const;
DWORD GetTime(
   LPSYSTEMTIME pTimeDest 
) const;

パラメーター

  • timeDest
    最初の形式では、システム時刻情報を受け取る COleDateTime のオブジェクトへの参照。2 番目のバージョンでは、システム時刻情報を受け取る CTime のオブジェクトへの参照。

  • pTimeDest
    システム時刻情報を受け取る SYSTEMTIME 構造体へのポインター。必要 nullことはできません。

戻り値

ゼロ以外の最初のバージョンでは時間が COleDateTime のオブジェクトに正常に書き込まれて; それ以外の場合は 0。2 番目と 3 番目のバージョンでは、NMDATETIMECHANGE の構造体のメンバー dwFlag のセットと等しい DWORD の値。詳細については、次 [コメント] "を参照してください。

解説

このメンバー関数は Windows SDKに記述されている Win32 メッセージの動作を DTM_GETSYSTEMTIME実行します。GetTimeの MFC 実装では、COleDateTimeCTime のクラスを使用してまたは時刻の情報を格納するために SYSTEMTIME の構造を使用できます。

日時指定コントロールが「日付」の状態に設定しないかどうか、2 番目と 3 番目のバージョンの戻り値 DWORD は、上に、NMDATETIMECHANGE の構成要素 dwFlagsに示すように、示します。返される値が GDT_NONEに等しい場合、コントロールは「日付」の状態に設定すると、DTS_SHOWNONE のスタイルを使用します。返される値が GDT_VALIDに等しい場合、システム時刻が指定位置に格納されます。

使用例

void CDateTimeDlg::OnBnClickedTimebutton()
{
   // get as a CTime
   CTime timeTime;
   DWORD dwResult = m_DateTimeCtrl.GetTime(timeTime);
   if (dwResult == GDT_VALID)
   {
      // the user checked the box and specified data
      CString str;

      // is it a time-only control, or a date-only control?
      if ((m_DateTimeCtrl.GetStyle() & DTS_TIMEFORMAT) == DTS_TIMEFORMAT)
         str = timeTime.Format(_T("%X"));
      else
         str = timeTime.Format(_T("%x"));
      AfxMessageBox(str);
   }
   else
   {
      // the user unmarked the "none" box
      AfxMessageBox(_T("Time not set!"));
   }

   // Calling as SYSTIME is much the same, but calling for a COleDateTime
   // has us test the state of the COleDateTime object for validity to 
   // see if the user did or didn't check the "none" box.
}

必要条件

Header: afxdtctl.h

参照

関連項目

CDateTimeCtrl クラス

階層図

CDateTimeCtrl::SetTime