次の方法で共有


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 以外を返します。それ以外の場合は 0 を返します。 2 番目と 3 番目の形式では、NMDATETIMECHANGE 構造体に設定されている dwFlag メンバーと等価な DWORD 値を返します。 詳細については、「解説」を参照してください。

解説

このメンバー関数は、Windows SDK に記述されている Win32 メッセージ DTM_GETSYSTEMTIME の動作を実装します。 MFC の実装では、時刻情報を格納するのに COleDateTime クラス、CTime クラス、または 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.
}

必要条件

**ヘッダー:**afxdtctl.h

参照

参照

CDateTimeCtrl クラス

階層図

CDateTimeCtrl::SetTime

その他の技術情報

CDateTimeCtrl のメンバー