Поделиться через


Класс CMFCToolBarDateTimeCtrl

Кнопка панели инструментов, содержащая элемент управления выбора даты и времени.

Синтаксис

class CMFCToolBarDateTimeCtrl : public CMFCToolBarButton

Участники

Открытые конструкторы

Имя Описание
CMFCToolBarDateTimeCtrl::CMFCToolBarDateTimeCtrl Формирует объект CMFCToolBarDateTimeCtrl.
CMFCToolBarDateTimeCtrl::~CMFCToolBarDateTimeCtrl Деструктор.

Открытые методы

Имя Описание
CMFCToolBarDateTimeCtrl::CanBeStretched Указывает, может ли пользователь растянуть кнопку во время настройки. (Переопределения CMFCToolBarButton::CanBeStretched.)
CMFCToolBarDateTimeCtrl::CopyFrom Копирует свойства другой кнопки панели инструментов на текущую кнопку. (Переопределения CMFCToolBarButton::CopyFrom.)
CMFCToolBarDateTimeCtrl::DuplicateData Зарезервировано для последующего использования.
CMFCToolBarButton::ExportToMenuButton Копирует текст из кнопки панели инструментов в меню.
CMFCToolBarDateTimeCtrl::CreateObject Используется платформой для создания динамического экземпляра этого типа класса.
CMFCToolBarDateTimeCtrl::GetByCmd Извлекает первый CMFCToolBarDateTimeCtrl объект в приложении с указанным идентификатором команды.
CMFCToolBarDateTimeCtrl::GetDateTimeCtrl Возвращает указатель на элемент управления выбора даты и времени.
CMFCToolBarDateTimeCtrl::GetHwnd Извлекает дескриптор окна, связанный с кнопкой панели инструментов. (Переопределения CMFCToolBarButton::GetHwnd.)
CMFCToolBarDateTimeCtrl::GetThisClass Используется платформой для получения указателя на объект CRuntimeClass , связанный с этим типом класса.
CMFCToolBarDateTimeCtrl::GetTime Возвращает выбранное время из элемента управления выбора даты и времени и помещает его в указанную структуру SYSTEMTIME .
CMFCToolBarDateTimeCtrl::GetTimeAll Возвращает выбранное время из кнопки управления выбора времени с указанным идентификатором команды.
CMFCToolBarDateTimeCtrl::HaveHotBorder Определяет, отображается ли граница кнопки, когда пользователь выбирает кнопку. (Переопределения CMFCToolBarButton::HaveHotBorder.)
CMFCToolBarDateTimeCtrl::NotifyCommand Указывает, обрабатывает ли кнопка сообщение WM_COMMAND . (Переопределения CMFCToolBarButton::NotifyCommand.)
CMFCToolBarDateTimeCtrl::OnAddToCustomizePage Вызывается платформой при добавлении кнопки в диалоговое окно "Настройка ". (Переопределения CMFCToolBarButton::OnAddToCustomizePage.)
CMFCToolBarDateTimeCtrl::OnCalculateSize Вызывается платформой для вычисления размера кнопки для указанного контекста устройства и состояния закрепления. (Переопределения CMFCToolBarButton::OnCalculateSize.)
CMFCToolBarDateTimeCtrl::OnChangeParentWnd Вызывается платформой при вставке кнопки в новую панель инструментов. (Переопределения CMFCToolBarButton::OnChangeParentWnd.)
CMFCToolBarDateTimeCtrl::OnClick Вызывается платформой, когда пользователь щелкает элемент управления. (Переопределения CMFCToolBarButton::OnClick.)
CMFCToolBarDateTimeCtrl::OnCtlColor Вызывается платформой, когда родительская панель инструментов обрабатывает сообщение WM_CTLCOLOR. (Переопределения CMFCToolBarButton::OnCtlColor.)
CMFCToolBarDateTimeCtrl::OnDraw Вызывается платформой для рисования кнопки с помощью указанных стилей и параметров. (Переопределения CMFCToolBarButton::OnDraw.)
CMFCToolBarDateTimeCtrl::OnDrawOnCustomizeList Вызывается платформой для рисования кнопки в области "Команды " диалогового окна "Настройка ". (Переопределения CMFCToolBarButton::OnDrawOnCustomizeList.)
CMFCToolBarDateTimeCtrl::OnGlobalFontsChanged Вызывается платформой при изменении глобального шрифта. (Переопределения CMFCToolBarButton::OnGlobalFontsChanged.)
CMFCToolBarDateTimeCtrl::OnMove Вызывается платформой при перемещении родительской панели инструментов. (Переопределения CMFCToolBarButton::OnMove.)
CMFCToolBarDateTimeCtrl::OnShow Вызывается платформой, когда кнопка становится видимой или невидимой. (Переопределения CMFCToolBarButton::OnShow.)
CMFCToolBarDateTimeCtrl::OnSize Вызывается платформой, когда родительская панель инструментов изменяет размер или положение, и это изменение приводит к изменению размера кнопки. (Переопределения CMFCToolBarButton::OnSize.)
CMFCToolBarDateTimeCtrl::OnUpdateToolTip Вызывается платформой, когда родительская панель инструментов обновляет текст подсказки. (Переопределения CMFCToolBarButton::OnUpdateToolTip.)
CMFCToolBarDateTimeCtrl::Serialize Считывает этот объект из архива или записывает его в архив (переопределяет CMFCToolBarButton::Serialize.)
CMFCToolBarDateTimeCtrl::SetStyle Задает стиль кнопки панели инструментов. (Переопределения CMFCToolBarButton::SetStyle.)
CMFCToolBarDateTimeCtrl::SetTime Задает время и дату в элементе управления выбора времени.
CMFCToolBarDateTimeCtrl::SetTimeAll Задает время и дату во всех экземплярах элемента управления выбора времени с указанным идентификатором команды.

Замечания

Пример использования элемента управления выбора даты и времени см. в примере проекта ToolbarDateTimePicker. Сведения о добавлении кнопок управления на панели инструментов см. в пошаговом руководстве. Добавление элементов управления на панели инструментов.

Иерархия наследования

CObject

CMFCToolBarButton

CMFCToolBarDateTimeCtrl

Требования

Заголовок: afxtoolbardatetimectrl.h

CMFCToolBarDateTimeCtrl::CanBeStretched

Указывает, может ли пользователь растянуть кнопку во время настройки.

virtual BOOL CanBeStretched() const;

Возвращаемое значение

Этот метод возвращает ЗНАЧЕНИЕ TRUE.

Замечания

По умолчанию платформа не позволяет пользователю растянуть кнопку панели инструментов во время настройки. Этот метод расширяет реализацию базового класса ( CMFCToolBarButton::CanBeStretched), позволяя пользователю растянуть кнопку панели инструментов даты и времени во время настройки.

CMFCToolBarDateTimeCtrl::CMFCToolBarDateTimeCtrl

Создает и инициализирует объект CMFCToolBarDateTimeCtrl .

CMFCToolBarDateTimeCtrl(
    UINT uiID,
    int iImage,
    DWORD dwStyle=0,
    int iWidth=0);

Параметры

uiID
[in] Идентификатор элемента управления.

iImage
[in] Индекс изображения в объекте панели инструментов CMFCToolBarImages .

dwStyle
[in] Стиль окна, созданного CMFCToolBarDateTimeCtrlImpl при нажатии кнопки пользователем.

iWidth
[in] Ширина элемента управления в пикселях.

Замечания

Этот объект инициализирован в системную дату и время. Стиль окна внутреннего CMFCToolBarDateTimeCtrlImpl объекта включает параметр dwStyle и стили WS_CHILD и WS_VISIBLE. Вы не можете изменить эти стили с помощью CMFCToolBarDateTimeCtrl::SetStyle. Используется SetStyle для изменения стиля CMFCToolBarDateTimeCtrl элемента управления.

Пример

В следующем примере показано, как создать объект CMFCToolBarDateTimeCtrl класса. Этот фрагмент кода является частью примера средства выбора даты и времени панели инструментов.

CMFCToolBarDateTimeCtrl dateButton(ID_DATE,
                                   GetCmdMgr()->GetCmdImage(ID_DATE, FALSE));

CMFCToolBarDateTimeCtrl::CopyFrom

Копирует свойства другой кнопки панели инструментов на текущую кнопку.

virtual void CopyFrom(const CMFCToolBarButton& src);

Параметры

src
[in] Ссылка на исходную кнопку, из которой следует скопировать.

Замечания

Вызовите этот метод, чтобы скопировать другую кнопку панели инструментов на эту кнопку панели инструментов. src должен иметь тип CMFCToolBarDateTimeCtrl.

CMFCToolBarDateTimeCtrl::ExportToMenuButton

Копирует текст из кнопки панели инструментов в меню.

virtual BOOL ExportToMenuButton(CMFCToolBarMenuButton& menuButton) const;

Параметры

menuButton
[in] Ссылка на целевую кнопку меню.

Возвращаемое значение

Этот метод возвращает ЗНАЧЕНИЕ TRUE.

Замечания

Этот метод переопределяет реализацию базового класса ( CMFCToolBarButton::ExportToMenuButton), загрузив строковый ресурс, связанный с идентификатором команды элемента управления. Дополнительные сведения о строковых ресурсах см. в разделе CStringT::LoadString.

CMFCToolBarDateTimeCtrl::GetByCmd

Извлекает первый CMFCToolBarDateTimeCtrl объект в приложении с указанным идентификатором команды.

static CMFCToolBarDateTimeCtrl* __stdcall GetByCmd(UINT uiCmd);

Параметры

uiCmd
[in] Идентификатор команды для получения кнопки.

Возвращаемое значение

Первый CMFCToolBarDateTimeCtrl объект в приложении с указанным идентификатором команды или NULL, если у объектов нет CMFCToolBarDateTimeCtrl указанного идентификатора команды.

Замечания

Этот общий метод служебной программы используется такими методами, как CMFCToolBarDateTimeCtrl::SetTimeAll и CMFCToolBarDateTimeCtrl::GetTimeAll , чтобы задать или получить время и дату всех экземпляров элемента управления выбора времени с указанным идентификатором команды.

CMFCToolBarDateTimeCtrl::GetDateTimeCtrl

Возвращает указатель на элемент управления выбора даты и времени.

CDateTimeCtrl* GetDateTimeCtrl() const;

Возвращаемое значение

Указатель на элемент управления выбора даты и времени; или NULL, если элемент управления не существует.

Замечания

Класс CMFCToolBarDateTimeCtrl инициализирует m_pWndDateTime элемент данных при вставке CMFCToolBarDateTimeCtrl объекта на панель инструментов.

CMFCToolBarDateTimeCtrl::GetHwnd

Извлекает дескриптор окна, связанный с кнопкой панели инструментов.

virtual HWND GetHwnd();

Возвращаемое значение

Дескриптор окна, связанный с кнопкой панели инструментов даты и времени.

Замечания

Этот метод переопределяет метод CMFCToolBarButton::GetHwnd .

CMFCToolBarDateTimeCtrl::GetTime

Возвращает выбранное время из связанного элемента управления выбора даты и времени и помещает его в указанную структуру SYSTEMTIME .

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

Параметры

TimeDest
[out] В первой перегрузке объект класса COleDateTime, который получит сведения о системном времени. Во второй перегрузке объект CTime, который получит сведения о системном времени.

pTimeDest
[out] Указатель на структуру SYSTEMTIME для получения сведений о системном времени. Не должно быть NULL.

Возвращаемое значение

В первой перегрузке ненулевое значение, если время успешно записано в объект класса COleDateTime; в противном случае — 0. Во втором и третьем перегрузках возвращаемое значение является DWORD, равным члену dwFlag, который был задан в структуре NMDATETIMECHANGE .

Замечания

Метод задает dwFlags элемента структуры NMDATETIMECHANGE , чтобы указать, задан ли средство выбора даты и времени в качестве даты и времени. Если значение равно GDT_NONE, элемент управления имеет no date состояние и использует стиль DTS_SHOWNONE. Если возвращаемое значение равно GDT_VALID, системное время успешно хранится в целевом расположении.

CMFCToolBarDateTimeCtrl::GetTimeAll

Возвращает время, выбранное пользователем из кнопки управления выбора времени с указанным идентификатором команды.

static BOOL GetTimeAll(
    UINT uiCmd,
    COleDateTime& timeDest);

static DWORD GetTimeAll(
    UINT uiCmd,
    CTime& timeDest);

static DWORD GetTimeAll(
    UINT uiCmd,
    LPSYSTEMTIME pTimeDest);

Параметры

uiCmd
[in] Указывает идентификатор команды кнопки панели инструментов.

TimeDest
[out] В первой перегрузке объект класса COleDateTime, который получит сведения о системном времени. Во второй перегрузке объект CTime, который получит сведения о системном времени.

pTimeDest
[out] Указатель на структуру SYSTEMTIME для получения сведений о системном времени. Не должно быть NULL.

Возвращаемое значение

Если платформа не может найти кнопку панели инструментов, которая соответствует идентификатору команды uiCmd, возвращаемое значение равно нулю в первой перегрузке и GDT_NONE в других перегрузках. Если кнопка панели инструментов найдена, возвращаемое значение совпадает с возвращаемым значением вызова CMFCToolBarDateTimeCtrl::GetTime на этой кнопке. Возвращаемое значение нуля или GDT_NONE может возникать при обнаружении кнопки, которая указывает, что вызов GetTime не вернул допустимую дату по какой-либо другой причине.

Замечания

Этот метод ищет кнопку панели инструментов с указанным идентификатором команды и вызывает метод CMFCToolBarDateTimeCtrl::GetTime на этой кнопке.

CMFCToolBarDateTimeCtrl::HaveHotBorder

Определяет, отображается ли граница кнопки, когда пользователь выбирает кнопку.

virtual BOOL HaveHotBorder() const;

Возвращаемое значение

Ненулевое значение, если кнопка отображает ее границу при выборе; в противном случае — 0.

Замечания

Этот метод возвращает ненулевое значение, если элемент управления отображается.

CMFCToolBarDateTimeCtrl::NotifyCommand

Указывает, обрабатывает ли кнопка сообщение WM_COMMAND .

virtual BOOL NotifyCommand(int iNotifyCode);

Параметры

iNotifyCode
[in] Сообщение уведомления, связанное с командой.

Возвращаемое значение

Значение TRUE, если кнопка обрабатывает сообщение WM_COMMAND или FALSE, чтобы указать, что сообщение должно обрабатываться родительской панелью инструментов.

Замечания

Платформа вызывает этот метод, когда речь идет о отправке сообщения WM_COMMAND в родительское окно.

Этот метод расширяет реализацию базового класса ( CMFCToolBarButton::NotifyCommand), обрабатывая уведомление DTN_DATETIMECHANGE . Он обновляет состояние внутреннего времени и обновляет свойство времени всех CMFCToolBarDateTimeCtrl объектов с одинаковым идентификатором команды.

CMFCToolBarDateTimeCtrl::OnAddToCustomizePage

Вызывается платформой при добавлении кнопки в диалоговое окно "Настройка ".

virtual void OnAddToCustomizePage();

Замечания

Этот метод расширяет реализацию базового класса CMFCToolBarButton::OnAddToCustomizePage путем копирования свойств из первого элемента управления даты и времени на любой панели инструментов с тем же идентификатором команды, что и этот объект. Этот метод ничего не делает, если панель инструментов не имеет элемента управления датой и временем с тем же идентификатором команды, что и этот объект.

Дополнительные сведения о диалоговом окне "Настройка" см. в классе CMFCToolBarsCustomizeDialog.

CMFCToolBarDateTimeCtrl::OnChangeParentWnd

Вызывается платформой при вставке кнопки в новую панель инструментов.

virtual void OnChangeParentWnd(CWnd* pWndParent);

Параметры

pWndParent
[in] Новое родительское окно.

Замечания

Этот метод переопределяет реализацию базового класса ( CMFCToolBarButton::OnChangeParentWnd), воссоздав внутренний CMFCToolBarDateTimeCtrlImpl объект.

CMFCToolBarDateTimeCtrl::OnClick

Вызывается платформой, когда пользователь щелкает элемент управления.

virtual BOOL OnClick(
    CWnd* pWnd,
    BOOL bDelay = TRUE);

Параметры

pWnd
[in] Неиспользованный.

bDelay
[in] Неиспользованный.

Возвращаемое значение

Ненулевое значение, если кнопка обрабатывает сообщение нажатия; в противном случае — 0.

Замечания

Этот метод переопределяет реализацию базового класса CMFCToolBarButton::OnClick, возвращая ненулевое значение, если внутренний CMFCToolBarDateTimeCtrlImpl объект виден.

CMFCToolBarDateTimeCtrl::OnCtlColor

Вызывается платформой, когда родительская панель инструментов обрабатывает сообщение WM_CTLCOLOR.

virtual HBRUSH OnCtlColor(
    CDC* pDC,
    UINT nCtlColor);

Параметры

pDC
[in] Контекст устройства, отображающий кнопку.

nCtlColor
[in] Неиспользованный.

Возвращаемое значение

Дескриптор глобальной кисти, которую платформа использует для рисования фона кнопки.

Замечания

Этот метод переопределяет реализацию базового класса CMFCToolBarButton::OnCtlColor, задав цвета текста и фона предоставленного контекста устройства глобальными цветами текста и фона соответственно.

Дополнительные сведения о глобальных параметрах, доступных для приложения, см. в разделе AFX_GLOBAL_DATA Структура.

CMFCToolBarDateTimeCtrl::OnGlobalFontsChanged

Вызывается платформой при изменении глобального шрифта.

virtual void OnGlobalFontsChanged();

Замечания

Этот метод расширяет реализацию базового класса ( CMFCToolBarButton::OnGlobalFontsChanged), изменив шрифт элемента управления на глобальный шрифт.

Дополнительные сведения о глобальных параметрах, доступных для приложения, см. в разделе AFX_GLOBAL_DATA Структура.

CMFCToolBarDateTimeCtrl::OnMove

Вызывается платформой при перемещении родительской панели инструментов.

virtual void OnMove();

Замечания

Этот метод переопределяет реализацию класса по умолчанию ( CMFCToolBarButton::OnMove), обновив положение внутреннего CMFCToolBarDateTimeCtrlImpl объекта.

CMFCToolBarDateTimeCtrl::OnShow

Вызывается платформой, когда кнопка становится видимой или невидимой.

virtual void OnShow(BOOL bShow);

Параметры

bShow
[in] Указывает, отображается ли кнопка. Если этот параметр имеет значение TRUE, кнопка отображается. В противном случае кнопка не отображается.

Замечания

Этот метод расширяет реализацию базового класса (CMFCToolBarButton::OnShow), отображая кнопку, если bShow имеет значение TRUE. В противном случае этот метод скрывает кнопку.

CMFCToolBarDateTimeCtrl::OnSize

Вызывается платформой, когда родительская панель инструментов изменяет размер или положение, и это изменение приводит к изменению размера кнопки.

virtual void OnSize(int iSize);

Параметры

iSize
[in] Новая ширина кнопки в пикселях.

Замечания

Этот метод переопределяет реализацию класса по умолчанию ( CMFCToolBarButton::OnSize), обновив размер и положение внутреннего CMFCToolBarDateTimeCtrlImpl объекта.

CMFCToolBarDateTimeCtrl::OnUpdateToolTip

Вызывается платформой, когда родительская панель инструментов обновляет текст подсказки.

virtual BOOL OnUpdateToolTip(
    CWnd* pWndParent,
    int iButtonIndex,
    CToolTipCtrl& wndToolTip,
    CString& str);

Параметры

pWndParent
[in] Родительское окно.

iButtonIndex
[in] Отсчитываемый от нуля индекс кнопки в родительской коллекции кнопок.

wndToolTip
[in] Элемент управления, отображающий текст подсказки.

str
[out] Объект CString , получающий обновленный текст подсказки.

Возвращаемое значение

Ненулевое значение, если метод обновляет текст подсказки; в противном случае — 0.

Замечания

Этот метод расширяет реализацию базового класса ( CMFCToolBarButton::OnUpdateToolTip), отображая текст подсказки, связанный с кнопкой. Если кнопка не закреплена по горизонтали, этот метод ничего не делает и возвращает значение FALSE.

CMFCToolBarDateTimeCtrl::SetTime

Задает время и дату в элементе управления выбора времени.

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

Параметры

timeNew
[in] В первой версии ссылка на объект класса COleDateTime, содержащий время задания элемента управления. Во второй версии указатель на объект CTime , содержащий время установки элемента управления.

pTimeNew
[in] Указатель на структуру SYSTEMTIME , содержащую время, для которого будет задан элемент управления.

Возвращаемое значение

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.

Замечания

Задает время в элементе управления выбора даты и времени путем вызова CDateTimeCtrl::SetTime.

CMFCToolBarDateTimeCtrl::SetTimeAll

Задает время и дату во всех экземплярах элемента управления выбора времени с указанным идентификатором команды.

static BOOL SetTimeAll(
    UINT uiCmd,
    const COleDateTime& timeNew);

static BOOL SetTimeAll(
    UINT uiCmd,
    const CTime* pTimeNew);

static BOOL SetTimeAll(
    UINT uiCmd,
    LPSYSTEMTIME pTimeNew=NULL);

Параметры

uiCmd
[in] Указывает идентификатор команды кнопки панели инструментов.

timeNew
[in] В первой версии объект класса COleDateTime, содержащий время установки элемента управления. Во второй версии указатель на объект CTime , содержащий время установки элемента управления.

pTimeNew
[in] Указатель на структуру SYSTEMTIME , содержащую время, для которого будет задан элемент управления.

Возвращаемое значение

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.

Замечания

Ищет кнопку панели инструментов с указанным идентификатором команды и задает время в элементе управления выбора даты и времени путем вызова CMFCToolBarDateTimeCtrl::SetTime.

См. также

Диаграмма иерархии
Классы
Класс CMFCToolBarButton
Пошаговое руководство. Размещение элементов управления на панели инструментов