次の方法で共有


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
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 設定する月のカレンダー コントロールの領域を指定する値。 この値には、次のいずれかを指定できます。

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

このコードを使用する場合は、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));

関連項目

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