Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Кнопка панели инструментов, содержащая элемент управления выбора даты и времени.
Синтаксис
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. Сведения о добавлении кнопок управления на панели инструментов см. в пошаговом руководстве. Добавление элементов управления на панели инструментов.
Иерархия наследования
Требования
Заголовок: 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
Пошаговое руководство. Размещение элементов управления на панели инструментов