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されます。

継承階層

CObject

CCmdTarget

CWnd

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。

解説

日付と時刻の選択コントロールを作成するには
  1. オブジェクトを構築CDateTimeCtrlするための呼び出しCDateTimeCtrl

  2. このメンバー関数を呼び出します。これにより、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取得する月のカレンダーの色領域を指定する値。 値の一覧については、次のパラメーターSetMonthCalColoriColor参照してください。

戻り値

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
オブジェクトまたはCTimeオブジェクトでCOleDateTime許可されているCDateTimeCtrl最も早い時間を含むオブジェクトへのポインター。

pMaxRange
オブジェクトまたはCTimeオブジェクトでCOleDateTime許可されているCDateTimeCtrl最新時刻を含むオブジェクトへのポインター。

戻り値

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 番目のバージョンでは、DWORD構造体でNMDATETIMECHANGE設定されたメンバーとdwFlag等しい値。 詳細については、以下の「解説」セクションを参照してください。

解説

このメンバー関数は、Windows SDK で説明されているように、Win32 メッセージ DTM_GETSYSTEMTIMEの動作を実装します。 MFC の実装GetTimeでは、時間情報を格納するために、クラスをCTime使用COleDateTimeすることも、構造体を使用SYSTEMTIMEすることもできます。

上記の 2 番目と 3 番目のバージョンの戻り値DWORDは、構造体メンバーdwFlagsで示されているように、日付と時刻の選択コントロールが "no date" 状態にNMDATETIMECHANGE設定されているかどうかを示します。 返される値が等しい 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 設定する月のカレンダー コントロールの領域を指定する値。 この値には、次のいずれかを指定できます。

Value 意味
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

このコードを使用する場合は、型のCDialogm_MonthFontと呼ばれる -derived クラスのメンバーCFontを作成します。

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
オブジェクトまたはCTimeオブジェクトでCOleDateTime許可されているCDateTimeCtrl最も早い時間を含むオブジェクトへのポインター。

pMaxRange
オブジェクトまたはCTimeオブジェクトでCOleDateTime許可されているCDateTimeCtrl最新時刻を含むオブジェクトへのポインター。

戻り値

正常終了した場合は 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の動作を実装します。 MFC の実装 SetTimeでは、時刻情報を 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));

関連項目

MFC サンプル CMNCTRL1
CWnd クラス
階層図
CMonthCalCtrl クラス