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 実装では、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.
}
必要条件
Header: afxdtctl.h