Udostępnij za pośrednictwem


CDateTimeCtrl Klasa

Hermetyzuje funkcjonalność kontrolki selektora daty i godziny.

Składnia

class CDateTimeCtrl : public CWnd

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CDateTimeCtrl::CDateTimeCtrl CDateTimeCtrl Tworzy obiekt.

Metody publiczne

Nazwa/nazwisko opis
CDateTimeCtrl::CloseMonthCal Zamyka bieżącą kontrolkę selektora daty i godziny.
CDateTimeCtrl::Create Tworzy kontrolkę selektora daty i godziny i dołącza ją do CDateTimeCtrl obiektu.
CDateTimeCtrl::GetDateTimePickerInfo Pobiera informacje o bieżącej kontrolce selektora daty i godziny.
CDateTimeCtrl::GetIdealSize Zwraca idealny rozmiar kontrolki selektora daty i godziny, który jest wymagany do wyświetlenia bieżącej daty lub godziny.
CDateTimeCtrl::GetMonthCalColor Pobiera kolor dla danej części kalendarza miesiąca w kontrolce selektora daty i godziny.
CDateTimeCtrl::GetMonthCalCtrl CMonthCalCtrl Pobiera obiekt skojarzony z kontrolką selektora daty i godziny.
CDateTimeCtrl::GetMonthCalFont Pobiera czcionkę używaną obecnie przez kontrolkę kalendarza podrzędnego kontrolki selektora daty i godziny.
CDateTimeCtrl::GetMonthCalStyle Pobiera styl bieżącej kontrolki selektora daty i godziny.
CDateTimeCtrl::GetRange Pobiera bieżącą minimalną i maksymalną dozwoloną godzinę systemową dla kontrolki selektora daty i godziny.
CDateTimeCtrl::GetTime Pobiera aktualnie wybraną godzinę z kontrolki selektora daty i godziny i umieszcza go w określonej SYSTEMTIME strukturze.
CDateTimeCtrl::SetFormat Ustawia wyświetlanie kontrolki selektora daty i godziny zgodnie z danym ciągiem formatu.
CDateTimeCtrl::SetMonthCalColor Ustawia kolor dla danej części kalendarza miesiąca w kontrolce selektora daty i godziny.
CDateTimeCtrl::SetMonthCalFont Ustawia czcionkę używaną przez kontrolkę kalendarza podrzędnego kontrolki selektora daty i godziny.
CDateTimeCtrl::SetMonthCalStyle Ustawia styl bieżącej kontrolki selektora daty i godziny.
CDateTimeCtrl::SetRange Ustawia minimalną i maksymalną dozwoloną godzinę systemową dla kontrolki selektora daty i godziny.
CDateTimeCtrl::SetTime Ustawia godzinę w kontrolce selektora daty i godziny.

Uwagi

Kontrolka selektora daty i godziny (DTP) udostępnia prosty interfejs do wymiany informacji o dacie i godzinie z użytkownikiem. Ten interfejs zawiera pola, z których każda zawiera część informacji o dacie i godzinie przechowywanych w kontrolce. Użytkownik może zmienić informacje przechowywane w kontrolce, zmieniając zawartość ciągu w danym polu. Użytkownik może przenieść się z pola do pola przy użyciu myszy lub klawiatury.

Kontrolkę selektora daty i godziny można dostosować, stosując różne style do obiektu podczas jego tworzenia. Aby uzyskać więcej informacji na temat stylów selektora daty i godziny, zobacz Style selektora daty i godziny w zestawie SDK systemu Windows, aby uzyskać więcej informacji na temat stylów specyficznych dla kontrolki selektora daty i godziny. Format wyświetlania kontrolki DTP można ustawić przy użyciu stylów formatu. Te style formatu są opisane w sekcji "Style formatowania" w temacie Zestaw SDK systemu Windows Style kontrolki Selektor daty i godziny.

Kontrolka selektora daty i godziny używa również powiadomień i wywołań zwrotnych, które opisano w temacie Using CDateTimeCtrl.

Hierarchia dziedziczenia

CObject

CCmdTarget

CWnd

CDateTimeCtrl

Wymagania

Nagłówek: afxdtctl.h

CDateTimeCtrl::CDateTimeCtrl

CDateTimeCtrl Tworzy obiekt.

CDateTimeCtrl();

CDateTimeCtrl::CloseMonthCal

Zamyka bieżącą kontrolkę selektora daty i godziny.

void CloseMonthCal() const;

Uwagi

Ta metoda wysyła DTM_CLOSEMONTHCAL komunikat opisany w zestawie SDK systemu Windows.

Przykład

Pierwszy przykład kodu definiuje zmienną , m_dateTimeCtrlktóra jest używana do programowego uzyskiwania dostępu do kontrolki selektora daty i godziny. Ta zmienna jest używana w następnym przykładzie.

// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;

Następny przykład kodu zamyka kalendarz listy rozwijanej dla bieżącej kontrolki selektora daty i godziny.

void CCDateTimeCtrl_s1Dlg::OnXClosemonthcal()
{
   // Close the month calendar control dropdown.
   m_dateTimeCtrl.CloseMonthCal();
}

CDateTimeCtrl::Create

Tworzy kontrolkę selektora daty i godziny i dołącza ją do CDateTimeCtrl obiektu.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametry

dwStyle
Określa kombinację stylów kontrolki daty i godziny. Aby uzyskać więcej informacji na temat stylów selektora daty i godziny, zobacz Style kontrolki selektora daty i godziny w zestawie Windows SDK.

rect
Odwołanie do struktury, która jest pozycją RECT i rozmiarem kontrolki selektora daty i godziny.

pParentWnd
Wskaźnik do obiektu, który jest oknem CWnd nadrzędnym kontrolki selektora daty i godziny. Nie może to być NULL.

nID
Określa identyfikator kontrolki selektora daty i godziny.

Wartość zwracana

Bezzerowe, jeśli tworzenie zakończyło się pomyślnie; w przeciwnym razie 0.

Uwagi

Aby utworzyć kontrolkę selektora daty i godziny
  1. Wywołaj metodę CDateTimeCtrl , aby skonstruować CDateTimeCtrl obiekt.

  2. Wywołaj tę funkcję składową, która tworzy kontrolkę selektora daty i godziny systemu Windows i dołącza ją do CDateTimeCtrl obiektu.

Podczas wywoływania Createmetody typowe kontrolki są inicjowane.

Przykład

// 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

Pobiera informacje o bieżącej kontrolce selektora daty i godziny.

BOOL GetDateTimePickerInfo(LPDATETIMEPICKERINFO pDateTimePickerInfo) const;

Parametry

pDateTimePickerInfo
[out] Wskaźnik do DATETIMEPICKERINFO struktury, która otrzymuje opis bieżącej kontrolki selektora daty i godziny. Obiekt wywołujący jest odpowiedzialny za przydzielanie tej struktury. Jednak ta metoda inicjuje cbSize składową struktury.

Wartość zwracana

TRUE jeśli ta metoda zakończy się pomyślnie; w przeciwnym razie, FALSE.

Uwagi

Ta metoda wysyła DTM_GETDATETIMEPICKERINFO komunikat opisany w zestawie SDK systemu Windows.

Przykład

Pierwszy przykład kodu definiuje zmienną , m_dateTimeCtrlktóra jest używana do programowego uzyskiwania dostępu do kontrolki selektora daty i godziny. Ta zmienna jest używana w następnym przykładzie.

// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;

Następny przykład kodu wskazuje, czy pomyślnie pobiera informacje o bieżącej kontrolce selektora daty i godziny.

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

Pobiera kolor dla danej części kalendarza miesiąca w kontrolce selektora daty i godziny.

COLORREF GetMonthCalColor(int iColor) const;

Parametry

iColor
Wartość określająca int obszar kolorów kalendarza miesiąca do pobrania. Aby uzyskać listę wartości, zobacz iColor parametr .SetMonthCalColor

Wartość zwracana

COLORREF Wartość reprezentująca ustawienie koloru dla określonej części kontrolki kalendarza miesiąca, jeśli się powiedzie. Funkcja zwraca wartość -1, jeśli nie powiedzie się.

Uwagi

Ta funkcja składowa implementuje zachowanie komunikatu DTM_GETMCCOLORWin32 zgodnie z opisem w zestawie WINDOWS SDK.

Przykład

// 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 Pobiera obiekt skojarzony z kontrolką selektora daty i godziny.

CMonthCalCtrl* GetMonthCalCtrl() const;

Wartość zwracana

Wskaźnik do CMonthCalCtrl obiektu lub NULL jeśli nie powiedzie się lub jeśli okno nie jest widoczne.

Uwagi

Kontrolki selektora daty i godziny tworzą kontrolkę kalendarza miesiąca podrzędnego, gdy użytkownik wybierze strzałkę listy rozwijanej. CMonthCalCtrl Gdy obiekt nie jest już potrzebny, zostanie zniszczony, więc aplikacja nie może polegać na przechowywaniu obiektu reprezentującego podrzędny kalendarz miesiąca kontrolki selektora daty.

Przykład

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

Pobiera czcionkę używaną obecnie przez kontrolkę kalendarza miesiąca kontrolki selektora daty i godziny.

CFont* GetMonthCalFont() const;

Wartość zwracana

Wskaźnik do CFont obiektu lub NULL , jeśli nie powiedzie się.

Uwagi

CFont Obiekt wskazywany przez wartość zwracaną jest obiektem tymczasowym i jest niszczony w następnym czasie przetwarzania bezczynności.

CDateTimeCtrl::GetMonthCalStyle

Pobiera styl kontrolki kalendarza miesiąca listy rozwijanej, która jest skojarzona z bieżącą kontrolką selektora daty i godziny.

DWORD GetMonthCalStyle() const;

Wartość zwracana

Styl kontrolki kalendarza miesiąca listy rozwijanej, która jest kombinacją bitową (OR) stylów kontrolki selektora daty i godziny. Aby uzyskać więcej informacji, zobacz Style kontrolek kalendarza miesięcznego.

Uwagi

Ta metoda wysyła DTM_GETMCSTYLE komunikat opisany w zestawie SDK systemu Windows.

CDateTimeCtrl::GetRange

Pobiera bieżącą minimalną i maksymalną dozwoloną godzinę systemową dla kontrolki selektora daty i godziny.

DWORD GetRange(
    COleDateTime* pMinRange,
    COleDateTime* pMaxRange) const;

DWORD GetRange(
    CTime* pMinRange,
    CTime* pMaxRange) const;

Parametry

pMinRange
Wskaźnik do COleDateTime obiektu lub CTime obiektu zawierającego najwcześniejszy czas dozwolony w CDateTimeCtrl obiekcie.

pMaxRange
Wskaźnik do COleDateTime obiektu lub CTime obiektu zawierającego ostatni dozwolony czas w CDateTimeCtrl obiekcie.

Wartość zwracana

Wartość zawierająca DWORD flagi wskazujące, które zakresy są ustawione. If

return value & GDTR_MAX == 0

następnie drugi parametr jest prawidłowy. Podobnie, jeśli

return value & GDTR_MIN == 0

następnie pierwszy parametr jest prawidłowy.

Uwagi

Ta funkcja składowa implementuje zachowanie komunikatu DTM_GETRANGEWin32 zgodnie z opisem w zestawie WINDOWS SDK. W implementacji MFC można określić COleDateTime użycie lub CTime .

Przykład

// 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

Pobiera aktualnie wybraną godzinę z kontrolki selektora daty i godziny i umieszcza go w określonej SYSTEMTIME strukturze.

BOOL GetTime(COleDateTime& timeDest) const;
DWORD GetTime(CTime& timeDest) const;
DWORD GetTime(LPSYSTEMTIME pTimeDest) const;

Parametry

timeDest
W pierwszej wersji odwołanie do COleDateTime obiektu, który otrzyma informacje o czasie systemowym. W drugiej wersji odwołanie do CTime obiektu, który otrzyma informacje o czasie systemowym.

pTimeDest
Wskaźnik do SYSTEMTIME struktury w celu odbierania informacji o czasie systemowym. Nie może być .NULL

Wartość zwracana

W pierwszej wersji niezero, jeśli czas jest pomyślnie zapisany w COleDateTime obiekcie; w przeciwnym razie 0. W drugiej i trzeciej wersji DWORD wartość równa dwFlag składowej ustawionej NMDATETIMECHANGE w strukturze. Aby uzyskać więcej informacji, zobacz sekcję Uwagi poniżej.

Uwagi

Ta funkcja składowa implementuje zachowanie komunikatu DTM_GETSYSTEMTIMEWin32 zgodnie z opisem w zestawie WINDOWS SDK. W implementacji GetTimeMFC programu można użyć COleDateTime klasy lub CTime użyć SYSTEMTIME struktury do przechowywania informacji o czasie.

Wartość DWORD zwracana w drugiej i trzeciej wersji powyżej wskazuje, czy kontrolka selektora daty i godziny jest ustawiona na stan "brak daty", jak wskazano w elemencie NMDATETIMECHANGE członkowskim dwFlagsstruktury . Jeśli zwracana wartość jest GDT_NONErówna , kontrolka jest ustawiona na stan "brak daty" i używa DTS_SHOWNONE stylu. Jeśli zwrócona wartość jest GDT_VALIDrówna , czas systemowy jest pomyślnie przechowywany w lokalizacji docelowej.

Przykład

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

Zwraca idealny rozmiar kontrolki selektora daty i godziny, który jest wymagany do wyświetlenia bieżącej daty lub godziny.

BOOL GetIdealSize(LPSIZE psize) const;

Parametry

psize
[out] Wskaźnik do SIZE struktury zawierającej idealny rozmiar kontrolki.

Wartość zwracana

Zwracana wartość to zawsze TRUE.

Uwagi

Ta metoda wysyła DTM_GETIDEALSIZE komunikat opisany w zestawie SDK systemu Windows.

Przykład

Pierwszy przykład kodu definiuje zmienną , m_dateTimeCtrlktóra jest używana do programowego uzyskiwania dostępu do kontrolki selektora daty i godziny. Ta zmienna jest używana w następnym przykładzie.

// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;

Następny przykład kodu pobiera idealny rozmiar, aby wyświetlić kontrolkę selektora daty i godziny.

// 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

Ustawia wyświetlanie kontrolki selektora daty i godziny zgodnie z danym ciągiem formatu.

BOOL SetFormat(LPCTSTR pstrFormat);

Parametry

pstrFormat
Wskaźnik do ciągu formatu bez zakończenia, który definiuje żądany wyświetlacz. Ustawienie tego parametru spowoduje NULL zresetowanie kontrolki do domyślnego ciągu formatu dla bieżącego stylu.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwaga

Dane wejściowe użytkownika nie określają powodzenia ani niepowodzenia dla tego wywołania.

Uwagi

Ta funkcja składowa implementuje zachowanie komunikatu DTM_SETFORMATWin32 zgodnie z opisem w zestawie WINDOWS SDK.

Przykład

// 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

Ustawia kolor dla danej części kalendarza miesiąca w kontrolce selektora daty i godziny.

COLORREF SetMonthCalColor(
    int iColor,
    COLORREF ref);

Parametry

iColor
int wartość określająca obszar kontrolki kalendarza miesiąca do ustawienia. Ta wartość może być jedną z następujących wartości.

Wartość Znaczenie
MCSC_BACKGROUND Ustaw kolor tła wyświetlany między miesiącami.
MCSC_MONTHBK Ustaw kolor tła wyświetlany w ciągu miesiąca.
MCSC_TEXT Ustaw kolor używany do wyświetlania tekstu w ciągu miesiąca.
MCSC_TITLEBK Ustaw kolor tła wyświetlany w tytule kalendarza.
MCSC_TITLETEXT Ustaw kolor używany do wyświetlania tekstu w tytule kalendarza.
MCSC_TRAILINGTEXT Ustaw kolor używany do wyświetlania nagłówka i tekstu końcowego. Dni nagłówkowe i końcowe to dni z poprzednich i kolejnych miesięcy, które są wyświetlane w bieżącym kalendarzu.

ref
Wartość COLORREF reprezentująca kolor, który zostanie ustawiony dla określonego obszaru kalendarza miesiąca.

Wartość zwracana

COLORREF Wartość reprezentująca poprzednie ustawienie koloru dla określonej części kontrolki kalendarza miesiąca, jeśli zakończy się pomyślnie. W przeciwnym razie komunikat zwraca wartość -1.

Uwagi

Ta funkcja składowa implementuje zachowanie komunikatu DTM_SETMCCOLORWin32 zgodnie z opisem w zestawie WINDOWS SDK.

Przykład

Zobacz przykład CDateTimeCtrl::GetMonthCalColor.

CDateTimeCtrl::SetMonthCalFont

Ustawia czcionkę używaną przez kontrolkę kalendarza podrzędnego kontrolki selektora daty i godziny.

void SetMonthCalFont(
    HFONT hFont,
    BOOL bRedraw = TRUE);

Parametry

hFont
Dojście do czcionki, która zostanie ustawiona.

bRedraw
Określa, czy kontrolka powinna być rysowana ponownie natychmiast po ustawieniu czcionki. Ustawienie tego parametru powoduje TRUE ponowne rysowanie kontrolki.

Uwagi

Ta funkcja składowa implementuje zachowanie komunikatu DTM_SETMCFONTWin32 zgodnie z opisem w zestawie WINDOWS SDK.

Przykład

// 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);
}

Uwaga

Jeśli używasz tego kodu, musisz utworzyć składową klasy pochodnej CDialogo nazwie m_MonthFont typu CFont.

CDateTimeCtrl::SetMonthCalStyle

Ustawia styl kontrolki kalendarza miesiąca listy rozwijanej, która jest skojarzona z bieżącą kontrolką selektora dat i godzin.

DWORD SetMonthCalStyle(DWORD dwStyle);

Parametry

dwStyle
[in] Styl kontrolki kalendarza nowego miesiąca, który jest kombinacją bitową (OR) stylów kontrolek kalendarza miesięcznego. Aby uzyskać więcej informacji, zobacz Style kontrolek kalendarza miesięcznego.

Wartość zwracana

Poprzedni styl kontrolki kalendarza miesiąca listy rozwijanej.

Uwagi

Ta metoda wysyła DTM_SETMCSTYLE komunikat opisany w zestawie SDK systemu Windows.

Przykład

Pierwszy przykład kodu definiuje zmienną , m_dateTimeCtrlktóra jest używana do programowego uzyskiwania dostępu do kontrolki selektora daty i godziny. Ta zmienna jest używana w następnym przykładzie.

// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;

W następnym przykładzie kodu ustawiono kontrolkę selektora daty i godziny, aby wyświetlić numery tygodni, skrócone nazwy dni tygodnia i nie ma dzisiejszego wskaźnika.

// 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

Ustawia minimalną i maksymalną dozwoloną godzinę systemową dla kontrolki selektora daty i godziny.

BOOL SetRange(
    const COleDateTime* pMinRange,
    const COleDateTime* pMaxRange);

BOOL SetRange(
    const CTime* pMinRange,
    const CTime* pMaxRange);

Parametry

pMinRange
Wskaźnik do COleDateTime obiektu lub CTime obiektu zawierającego najwcześniejszy czas dozwolony w CDateTimeCtrl obiekcie.

pMaxRange
Wskaźnik do COleDateTime obiektu lub CTime obiektu zawierającego ostatni dozwolony czas w CDateTimeCtrl obiekcie.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa implementuje zachowanie komunikatu DTM_SETRANGEWin32 zgodnie z opisem w zestawie WINDOWS SDK. W implementacji MFC można określić COleDateTime użycie lub CTime . COleDateTime Jeśli obiekt ma NULL stan, zakres zostanie usunięty. CTime Jeśli wskaźnik lub COleDateTime wskaźnik to NULL, zakres zostanie usunięty.

Przykład

Zobacz przykład dla elementu CDateTimeCtrl::GetRange.

CDateTimeCtrl::SetTime

Ustawia godzinę w kontrolce selektora daty i godziny.

BOOL SetTime(const COleDateTime& timeNew);
BOOL SetTime(const CTime* pTimeNew);
BOOL SetTime(LPSYSTEMTIME pTimeNew = NULL);

Parametry

timeNew
Odwołanie do obiektu zawierającego COleDateTime , do którego zostanie ustawiona kontrolka.

pTimeNew
W drugiej wersji powyżej wskaźnik do CTime obiektu zawierającego czas, do którego zostanie ustawiona kontrolka. W trzeciej wersji powyżej wskaźnik do SYSTEMTIME struktury zawierającej czas, do którego zostanie ustawiona kontrolka.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa implementuje zachowanie komunikatu DTM_SETSYSTEMTIMEWin32 zgodnie z opisem w zestawie WINDOWS SDK. W implementacji SetTimeMFC programu można użyć COleDateTime klas lub CTime użyć SYSTEMTIME struktury, aby ustawić informacje o czasie.

Przykład

// 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));

Zobacz też

Przykład MFC CMNCTRL1
CWnd Klasa
Wykres hierarchii
CMonthCalCtrl Klasa