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
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_dateTimeCtrl
któ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
Wywołaj metodę
CDateTimeCtrl
, aby skonstruowaćCDateTimeCtrl
obiekt.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 Create
metody 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_dateTimeCtrl
któ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_GETMCCOLOR
Win32 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_GETRANGE
Win32 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_GETSYSTEMTIME
Win32 zgodnie z opisem w zestawie WINDOWS SDK. W implementacji GetTime
MFC 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 dwFlags
struktury . Jeśli zwracana wartość jest GDT_NONE
równa , kontrolka jest ustawiona na stan "brak daty" i używa DTS_SHOWNONE
stylu. Jeśli zwrócona wartość jest GDT_VALID
ró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_dateTimeCtrl
któ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_SETFORMAT
Win32 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_SETMCCOLOR
Win32 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_SETMCFONT
Win32 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 CDialog
o 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_dateTimeCtrl
któ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_SETRANGE
Win32 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_SETSYSTEMTIME
Win32 zgodnie z opisem w zestawie WINDOWS SDK. W implementacji SetTime
MFC 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