CDateTimeCtrl
クラス
日時指定コントロールの機能がカプセル化されています。
構文
class CDateTimeCtrl : public CWnd
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CDateTimeCtrl::CDateTimeCtrl |
CDateTimeCtrl オブジェクトを構築します。 |
パブリック メソッド
名前 | 説明 |
---|---|
CDateTimeCtrl::CloseMonthCal |
現在の日付と時刻の選択コントロールを閉じます。 |
CDateTimeCtrl::Create |
日付と時刻の選択コントロールを作成し、 CDateTimeCtrl オブジェクトにアタッチします。 |
CDateTimeCtrl::GetDateTimePickerInfo |
現在の日付と時刻の選択コントロールに関する情報を取得します。 |
CDateTimeCtrl::GetIdealSize |
現在の日付または時刻を表示するために必要な日付と時刻の選択コントロールの理想的なサイズを返します。 |
CDateTimeCtrl::GetMonthCalColor |
日付と時刻の選択コントロール内の月のカレンダーの特定の部分の色を取得します。 |
CDateTimeCtrl::GetMonthCalCtrl |
日付と時刻の選択コントロールに関連付けられている CMonthCalCtrl オブジェクトを取得します。 |
CDateTimeCtrl::GetMonthCalFont |
日付と時刻の選択コントロールの子月カレンダー コントロールで現在使用されているフォントを取得します。 |
CDateTimeCtrl::GetMonthCalStyle |
現在の日付と時刻の選択コントロールのスタイルを取得します。 |
CDateTimeCtrl::GetRange |
日付と時刻の選択コントロールの現在の最小および最大許容システム時間を取得します。 |
CDateTimeCtrl::GetTime |
日付と時刻の選択コントロールから現在選択されている時刻を取得し、指定した SYSTEMTIME 構造体に配置します。 |
CDateTimeCtrl::SetFormat |
指定した書式指定文字列に従って、日付と時刻の選択コントロールの表示を設定します。 |
CDateTimeCtrl::SetMonthCalColor |
日付と時刻の選択コントロール内の月のカレンダーの特定の部分の色を設定します。 |
CDateTimeCtrl::SetMonthCalFont |
日付と時刻の選択コントロールの子月カレンダー コントロールが使用するフォントを設定します。 |
CDateTimeCtrl::SetMonthCalStyle |
現在の日付と時刻の選択コントロールのスタイルを設定します。 |
CDateTimeCtrl::SetRange |
日付と時刻の選択コントロールで許容される最小および最大システム時間を設定します。 |
CDateTimeCtrl::SetTime |
日付と時刻の選択コントロールの時刻を設定します。 |
解説
日付と時刻の選択コントロール (DTP コントロール) は、ユーザーと日付と時刻の情報を交換するための簡単なインターフェイスを提供します。 このインターフェイスにはフィールドが含まれています。各フィールドには、コントロールに格納されている日付と時刻の情報の一部が表示されます。 ユーザーは、特定のフィールド内の文字列の内容を変更することで、コントロールに格納されている情報を変更できます。 ユーザーは、マウスまたはキーボードを使用してフィールドからフィールドに移動できます。
日付と時刻の選択コントロールをカスタマイズするには、オブジェクトを作成するときにさまざまなスタイルを適用します。 日付と時刻の選択コントロールに固有のスタイルの詳細については Windows SDK の日付と時刻の選択コントロールのスタイルを参照してください。 DTP コントロールの表示形式は、書式スタイルを使用して設定できます。 これらの書式スタイルについては、「Windows SDK」トピックの「スタイルの書式設定」の「 日付と時刻選択コントロールのスタイルで説明します。
日付と時刻の選択コントロールでは、通知とコールバックも使用されます。詳細については、「CDateTimeCtrl
の使用」を参照してください。
継承階層
CDateTimeCtrl
要件
ヘッダー: afxdtctl.h
CDateTimeCtrl::CDateTimeCtrl
CDateTimeCtrl
オブジェクトを構築します。
CDateTimeCtrl();
CDateTimeCtrl::CloseMonthCal
現在の日付と時刻の選択コントロールを閉じます。
void CloseMonthCal() const;
解説
このメソッドは、Windows SDK で説明されている DTM_CLOSEMONTHCAL
メッセージを送信します。
例
最初のコード例では、日付と時刻の選択コントロールにプログラムでアクセスするために使用される変数 ( m_dateTimeCtrl
) を定義します。 この変数は次の例で使用されています。
// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;
次のコード例では、現在の日付と時刻の選択コントロールのドロップダウン カレンダーを閉じます。
void CCDateTimeCtrl_s1Dlg::OnXClosemonthcal()
{
// Close the month calendar control dropdown.
m_dateTimeCtrl.CloseMonthCal();
}
CDateTimeCtrl::Create
日付と時刻の選択コントロールを作成し、 CDateTimeCtrl
オブジェクトにアタッチします。
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
パラメーター
dwStyle
日時コントロール スタイルの組み合わせを指定します。 日付と時刻の選択スタイルの詳細については、Windows SDK の 日付と時刻の選択コントロール のスタイル を参照してください。
rect
RECT
構造体への参照。日付と時刻の選択コントロールの位置とサイズです。
pParentWnd
日付と時刻の選択コントロールの親ウィンドウである CWnd
オブジェクトへのポインター。 NULL
することはできません。
nID
日付と時刻の選択コントロールのコントロール ID を指定します。
戻り値
作成が成功した場合は 0 以外。それ以外の場合は 0。
解説
日付と時刻の選択コントロールを作成するには
CDateTimeCtrl
を呼び出して、CDateTimeCtrl
オブジェクトを構築します。このメンバー関数を呼び出します。これにより、Windows の日付と時刻の選択コントロールが作成され、
CDateTimeCtrl
オブジェクトにアタッチされます。
Create
を呼び出すと、共通コントロールが初期化されます。
例
// choose an arbitrary rectangle for creation
CRect rect(20, 20, 120, 45);
m_DateTimeCtrl.Create(WS_VISIBLE | WS_CHILD | WS_TABSTOP | DTS_SHOWNONE |
DTS_SHORTDATEFORMAT,
rect, this, IDC_DATETIMECTRL);
CDateTimeCtrl::GetDateTimePickerInfo
現在の日付と時刻の選択コントロールに関する情報を取得します。
BOOL GetDateTimePickerInfo(LPDATETIMEPICKERINFO pDateTimePickerInfo) const;
パラメーター
pDateTimePickerInfo
[out]現在の日時選択コントロールの説明を受け取る DATETIMEPICKERINFO
構造体へのポインター。 呼び出し元は、この構造体の割り当てを担当します。 ただし、このメソッドは構造体の cbSize
メンバーを初期化します。
戻り値
TRUE
このメソッドが成功した場合。それ以外の場合は FALSE
。
解説
このメソッドは、Windows SDK で説明されている DTM_GETDATETIMEPICKERINFO
メッセージを送信します。
例
最初のコード例では、日付と時刻の選択コントロールにプログラムでアクセスするために使用される変数 ( m_dateTimeCtrl
) を定義します。 この変数は次の例で使用されています。
// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;
次のコード例は、現在の日付と時刻の選択コントロールに関する情報が正常に取得されたかどうかを示します。
void CCDateTimeCtrl_s1Dlg::OnXGetdatetimepickerinfo()
{
// Get information about the date-time picker control.
DATETIMEPICKERINFO dtpi = {0};
dtpi.cbSize = sizeof(DATETIMEPICKERINFO);
BOOL rc = m_dateTimeCtrl.GetDateTimePickerInfo(&dtpi);
if (rc == TRUE)
AfxMessageBox(_T("Information retrieved"),
MB_ICONEXCLAMATION);
else
AfxMessageBox(_T("Information was not retrieved"));
}
CDateTimeCtrl::GetMonthCalColor
日付と時刻の選択コントロール内の月のカレンダーの特定の部分の色を取得します。
COLORREF GetMonthCalColor(int iColor) const;
パラメーター
iColor
取得する月のカレンダーの色領域を指定する int
値。 値の一覧については、SetMonthCalColor
の iColor
パラメーターを参照してください。
戻り値
成功した場合に、月のカレンダー コントロールの指定した部分の色の設定を表す COLORREF
値。 失敗した場合、関数は -1 を返します。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ DTM_GETMCCOLOR
の動作が実装されます。
例
// Set the color for the text in the control and
// assure it was set properly. Unlike the GetMonthCalCtrl() member,
// GetMonthCalColor() and SetMonthCalColor() can be used at any time.
m_DateTimeCtrl.SetMonthCalColor(MCSC_TEXT, RGB(255, 0, 0));
VERIFY(m_DateTimeCtrl.GetMonthCalColor(MCSC_TEXT) == RGB(255, 0, 0));
CDateTimeCtrl::GetMonthCalCtrl
日付と時刻の選択コントロールに関連付けられている CMonthCalCtrl
オブジェクトを取得します。
CMonthCalCtrl* GetMonthCalCtrl() const;
戻り値
CMonthCalCtrl
オブジェクトへのポインター。失敗した場合、またはウィンドウが表示されない場合はNULL
。
解説
日付と時刻の選択コントロールでは、ユーザーがドロップダウン矢印を選択すると、子月カレンダー コントロールが作成されます。 CMonthCalCtrl
オブジェクトが不要になると破棄されるため、アプリケーションは、日付時刻選択コントロールの子月カレンダーを表すオブジェクトの格納に依存しないようにする必要があります。
例
void CDateTimeDlg::OnDropDownDateTimeCtrl(NMHDR *pNMHDR, LRESULT *pResult)
{
UNREFERENCED_PARAMETER(pNMHDR);
// note that GetMonthCalCtrl() will only return a pointer to the
// month calendar control while the control actually exists--that is,
// while it has been dropped-down by the user. Otherwise, the function
// returns NULL. One appropriate time to get the control is while
// handling the DTN_DROPDOWN notification for the date time picker
// control.
// get the control
CMonthCalCtrl *pMoCalCtrl = m_DateTimeCtrl.GetMonthCalCtrl();
ASSERT(pMoCalCtrl != NULL);
// now, pMoCalCtrl is useful...
*pResult = 0;
}
CDateTimeCtrl::GetMonthCalFont
日付と時刻の選択コントロールの月の予定表コントロールで現在使用されているフォントを取得します。
CFont* GetMonthCalFont() const;
戻り値
CFont
オブジェクトへのポインター。失敗した場合はNULL
。
解説
戻り値が指す CFont
オブジェクトは一時的なオブジェクトであり、次のアイドル処理時間中に破棄されます。
CDateTimeCtrl::GetMonthCalStyle
現在の日付と時刻の選択コントロールに関連付けられているドロップダウン月カレンダー コントロールのスタイルを取得します。
DWORD GetMonthCalStyle() const;
戻り値
ドロップダウン月カレンダー コントロールのスタイル。日付と時刻の選択コントロール スタイルのビットごとの組み合わせ (OR) です。 詳細については、「 カレンダー コントロール のスタイル」を参照してください。
解説
このメソッドは、Windows SDK で説明されている DTM_GETMCSTYLE
メッセージを送信します。
CDateTimeCtrl::GetRange
日付と時刻の選択コントロールの現在の最小および最大許容システム時間を取得します。
DWORD GetRange(
COleDateTime* pMinRange,
COleDateTime* pMaxRange) const;
DWORD GetRange(
CTime* pMinRange,
CTime* pMaxRange) const;
パラメーター
pMinRange
COleDateTime
オブジェクトまたはCDateTimeCtrl
オブジェクトで許容される最も早い時間を含むCTime
オブジェクトへのポインター。
pMaxRange
CDateTimeCtrl
オブジェクトで許可されている最新時刻を含むCOleDateTime
オブジェクトまたはCTime
オブジェクトへのポインター。
戻り値
設定されている範囲を示すフラグを含む DWORD
値。 次の場合
return value & GDTR_MAX
== 0
次に、2 番目のパラメーターが有効です。 同様に、
return value & GDTR_MIN
== 0
最初のパラメーターは有効です。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ DTM_GETRANGE
の動作が実装されます。 MFC の実装では、 COleDateTime
または CTime
の使用法を指定できます。
例
// 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);
}
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
値。 詳細については、以下の「 Remarks 」セクションを参照してください。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ DTM_GETSYSTEMTIME
の動作が実装されます。 GetTime
の MFC 実装では、COleDateTime
クラスまたはCTime
クラスを使用することも、SYSTEMTIME
構造体を使用して時刻情報を格納することもできます。
上記の 2 番目と 3 番目のバージョンで DWORD
戻り値は、 NMDATETIMECHANGE
構造体メンバー dwFlags
で示されているように、日付と時刻の選択コントロールが "no date" 状態に設定されているかどうかを示します。 返される値が 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.
}
CDateTimeCtrl::GetIdealSize
現在の日付または時刻を表示するために必要な日付と時刻の選択コントロールの理想的なサイズを返します。
BOOL GetIdealSize(LPSIZE psize) const;
パラメーター
psize
[out]コントロールに最適なサイズを含む SIZE
構造体へのポインター。
戻り値
戻り値は常に TRUE
です。
解説
このメソッドは、Windows SDK で説明されている DTM_GETIDEALSIZE
メッセージを送信します。
例
最初のコード例では、日付と時刻の選択コントロールにプログラムでアクセスするために使用される変数 ( m_dateTimeCtrl
) を定義します。 この変数は次の例で使用されています。
// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;
次のコード例では、日付と時刻の選択コントロールを表示するための理想的なサイズを取得します。
// Add extra initialization here
// Associate a menu with the splitbutton control.
m_splitbutton.SetDropDownMenu(IDR_MENU1, 0);
// Resize the date-time picker control.
SIZE sz;
m_dateTimeCtrl.GetIdealSize(&sz);
if ((sz.cx != 0) && (sz.cy != 0))
{
m_dateTimeCtrl.SetWindowPos(
this,
0, 0, sz.cx, sz.cy,
(SWP_NOMOVE | SWP_NOZORDER | SWP_NOREPOSITION | SWP_NOACTIVATE));
}
// End of extra initialization
CDateTimeCtrl::SetFormat
指定した書式指定文字列に従って、日付と時刻の選択コントロールの表示を設定します。
BOOL SetFormat(LPCTSTR pstrFormat);
パラメーター
pstrFormat
目的の表示を定義する 0 で終わる書式指定文字列へのポインター。 このパラメーターを NULL
に設定すると、コントロールが現在のスタイルの既定の書式指定文字列にリセットされます。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
Note
ユーザー入力は、この呼び出しの成功または失敗を判断しません。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ DTM_SETFORMAT
の動作が実装されます。
例
// The control will create itself with a format that matches the
// locale setting in Control Panel. But we can force a particular
// format with a call to SetFormat(). This call forces the format
// dd-MMM-yy, which would show 03-APR-98 for April 3rd, 1998.
m_DateTimeCtrl.SetFormat(_T("dd-MMM-yy"));
CDateTimeCtrl::SetMonthCalColor
日付と時刻の選択コントロール内の月のカレンダーの特定の部分の色を設定します。
COLORREF SetMonthCalColor(
int iColor,
COLORREF ref);
パラメーター
iColor
int
設定する月のカレンダー コントロールの領域を指定する値。 この値には、次のいずれかを指定できます。
値 | 意味 |
---|---|
MCSC_BACKGROUND |
月の間に表示される背景色を設定します。 |
MCSC_MONTHBK |
1 か月以内に表示される背景色を設定します。 |
MCSC_TEXT |
1 か月以内にテキストを表示するために使用する色を設定します。 |
MCSC_TITLEBK |
予定表のタイトルに表示される背景色を設定します。 |
MCSC_TITLETEXT |
予定表のタイトル内にテキストを表示するために使用する色を設定します。 |
MCSC_TRAILINGTEXT |
ヘッダーと末尾の日のテキストを表示するために使用する色を設定します。 ヘッダーと末尾の日数は、現在のカレンダーに表示される前月と翌月の日数です。 |
ref
月のカレンダーの指定した領域に設定される色を表す COLORREF
値。
戻り値
成功した場合、月のカレンダー コントロールの指定した部分の前の色設定を表す COLORREF
値。 それ以外の場合、メッセージは -1 を返します。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ DTM_SETMCCOLOR
の動作が実装されます。
例
CDateTimeCtrl::GetMonthCalColor の例を参照してください。
CDateTimeCtrl::SetMonthCalFont
日付と時刻の選択コントロールの子月カレンダー コントロールが使用するフォントを設定します。
void SetMonthCalFont(
HFONT hFont,
BOOL bRedraw = TRUE);
パラメーター
hFont
設定するフォントを処理します。
bRedraw
フォントを設定した直後にコントロールを再描画するかどうかを指定します。 このパラメーターを TRUE
に設定すると、コントロール自体が再描画されます。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ DTM_SETMCFONT
の動作が実装されます。
例
// The following code example would most likely appear
// in the OnInitDialog function of your dialog class.
// It creates a font (Arial, 10 pixels high) and if successful,
// stores the result in m_MonthFont, a member of your
// dialog class declared as follows:
// CFont m_MonthFont;
// SetMonthCalFont is then called passing in the new font,
// causing the month calendar control to display all
// text and dates with an Arial font.
//initializing the necessary members of the LOGFONT
// structure
LOGFONT lf;
memset(&lf, 0, sizeof(lf));
lf.lfHeight = 10;
_tcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));
if (m_MonthFont.CreateFontIndirect(&lf))
{
// if successful, set the month calendar font
m_DateTimeCtrl.SetMonthCalFont((HFONT)m_MonthFont);
}
Note
このコードを使用する場合は、CFont
型のm_MonthFontと呼ばれるCDialog
派生クラスのメンバーを作成します。
CDateTimeCtrl::SetMonthCalStyle
現在の日付と時刻の選択コントロールに関連付けられているドロップダウン月カレンダー コントロールのスタイルを設定します。
DWORD SetMonthCalStyle(DWORD dwStyle);
パラメーター
dwStyle
[in]新しい月のカレンダー コントロール スタイル。これは、月の予定表コントロール スタイルのビットごとの組み合わせ (OR) です。 詳細については、「 カレンダー コントロール のスタイル」を参照してください。
戻り値
ドロップダウン月カレンダー コントロールの以前のスタイル。
解説
このメソッドは、Windows SDK で説明されている DTM_SETMCSTYLE
メッセージを送信します。
例
最初のコード例では、日付と時刻の選択コントロールにプログラムでアクセスするために使用される変数 ( m_dateTimeCtrl
) を定義します。 この変数は次の例で使用されています。
// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;
次のコード例では、日付と時刻の選択コントロールを設定して、週番号、曜日の省略名、および今日のインジケーターを表示しません。
// Set the style of the month-calendar control dropdown.
void CCDateTimeCtrl_s1Dlg::OnSetmonthcalstyleWeeknumber()
{
m_dateTimeCtrl.SetMonthCalStyle(MCS_WEEKNUMBERS);
}
void CCDateTimeCtrl_s1Dlg::OnSetmonthcalstyleNotoday()
{
m_dateTimeCtrl.SetMonthCalStyle(MCS_NOTODAY);
}
void CCDateTimeCtrl_s1Dlg::OnSetmonthcalstyleShortdaysofweek()
{
m_dateTimeCtrl.SetMonthCalStyle(MCS_SHORTDAYSOFWEEK);
}
CDateTimeCtrl::SetRange
日付と時刻の選択コントロールで許容される最小および最大システム時間を設定します。
BOOL SetRange(
const COleDateTime* pMinRange,
const COleDateTime* pMaxRange);
BOOL SetRange(
const CTime* pMinRange,
const CTime* pMaxRange);
パラメーター
pMinRange
COleDateTime
オブジェクトまたはCDateTimeCtrl
オブジェクトで許容される最も早い時間を含むCTime
オブジェクトへのポインター。
pMaxRange
CDateTimeCtrl
オブジェクトで許可されている最新時刻を含むCOleDateTime
オブジェクトまたはCTime
オブジェクトへのポインター。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ DTM_SETRANGE
の動作が実装されます。 MFC の実装では、 COleDateTime
または CTime
の使用法を指定できます。 COleDateTime
オブジェクトの状態がNULL
の場合、範囲は削除されます。 CTime
ポインターまたはCOleDateTime
ポインターがNULL
場合、範囲は削除されます。
例
CDateTimeCtrl::GetRange
の例を参照してください。
CDateTimeCtrl::SetTime
日付と時刻の選択コントロールの時刻を設定します。
BOOL SetTime(const COleDateTime& timeNew);
BOOL SetTime(const CTime* pTimeNew);
BOOL SetTime(LPSYSTEMTIME pTimeNew = NULL);
パラメーター
timeNew
コントロールが設定される COleDateTime
オブジェクトへの参照。
pTimeNew
上記の 2 番目のバージョンでは、コントロールが設定される時刻を含む CTime
オブジェクトへのポインター。 上記の 3 番目のバージョンでは、コントロールが設定される時刻を含む SYSTEMTIME
構造体へのポインター。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ DTM_SETSYSTEMTIME
の動作が実装されます。 SetTime
の MFC 実装では、COleDateTime
クラスまたはCTime
クラスを使用することも、SYSTEMTIME
構造体を使用して時刻情報を設定することもできます。
例
// set with a CTime
CTime timeTime(1998, 4, 3, 0, 0, 0);
VERIFY(m_DateTimeCtrl.SetTime(&timeTime));
// set with a COleDateTime object
COleDateTime oletimeTime(1998, 4, 3, 0, 0, 0);
VERIFY(m_DateTimeCtrl.SetTime(oletimeTime));
// set using the SYSTEMTIME
SYSTEMTIME sysTime;
memset(&sysTime, 0, sizeof(sysTime));
sysTime.wYear = 1998;
sysTime.wMonth = 4;
sysTime.wDay = 3;
VERIFY(m_DateTimeCtrl.SetTime(&sysTime));