Класс CMFCToolBarEditBoxButton
Кнопка панели инструментов, содержащая элемент управления редактированием ( класс CEdit).
Синтаксис
class CMFCToolBarEditBoxButton : public CMFCToolBarButton
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CMFCToolBarEditBoxButton::CMFCToolBarEditBoxButton | Формирует объект CMFCToolBarEditBoxButton . |
CMFCToolBarEditBoxButton::~CMFCToolBarEditBoxButton |
Деструктор. |
Открытые методы
Имя | Описание |
---|---|
CMFCToolBarEditBoxButton::CanBeStretched | Указывает, может ли пользователь растянуть кнопку во время настройки. (Переопределения CMFCToolBarButton::CanBeStretched.) |
CMFCToolBarEditBoxButton::CopyFrom | Копирует свойства другой кнопки панели инструментов на текущую кнопку. (Переопределения CMFCToolBarButton::CopyFrom.) |
CMFCToolBarEditBoxButton:: CMFCToolBarEditBoxButton::CreateEdit |
Создает элемент управления редактирования в кнопке. |
CMFCToolBarEditBoxButton::CreateObject |
Используется платформой для создания динамического экземпляра этого типа класса. |
CMFCToolBarEditBoxButton::GetByCmd | Извлекает первый CMFCToolBarEditBoxButton объект в приложении с указанным идентификатором команды. |
CMFCToolBarEditBoxButton::GetContentsAll | Извлекает текст первого элемента управления панели инструментов поля редактирования с указанным идентификатором команды. |
CMFCToolBarEditBoxButton::GetContextMenuID | Извлекает идентификатор ресурса контекстного меню, связанного с кнопкой. |
CMFCToolBarEditBoxButton::GetEditBorder | Извлекает ограничивающий прямоугольник элемента редактирования кнопки "Изменить". |
CMFCToolBarEditBoxButton:: CMFCToolBarEditBoxButton::GetEditBox |
Возвращает указатель на элемент управления редактирования, внедренный в кнопку. |
CMFCToolBarEditBoxButton::GetHwnd | Извлекает дескриптор окна, связанный с кнопкой панели инструментов. (Переопределения CMFCToolBarButton::GetHwnd.) |
CMFCToolBarEditBoxButton::GetInvalidateRect | Извлекает область клиентской области кнопки, которую необходимо перезапустить. (Переопределения CMFCToolBarButton::GetInvalidateRect.) |
CMFCToolBarEditBoxButton::GetThisClass |
Используется платформой для получения указателя на объект CRuntimeClass , связанный с этим типом класса. |
CMFCToolBarEditBoxButton::HaveHotBorder | Определяет, отображается ли граница кнопки при нажатии кнопки. (Переопределения CMFCToolBarButton::HaveHotBorder.) |
CMFCToolBarEditBoxButton::IsFlatMode | Определяет, имеют ли кнопки поля редактирования неструктурированный стиль. |
CMFCToolBarEditBoxButton::NotifyCommand | Указывает, обрабатывает ли кнопка сообщение WM_COMMAND . (Переопределения CMFCToolBarButton::NotifyCommand.) |
CMFCToolBarEditBoxButton::OnAddToCustomizePage | Вызывается платформой при добавлении кнопки в диалоговое окно "Настройка ". (Переопределения CMFCToolBarButton::OnAddToCustomizePage.) |
CMFCToolBarEditBoxButton::OnCalculateSize |
Вызывается платформой для вычисления размера кнопки для указанного контекста устройства и состояния закрепления. (Переопределения CMFCToolBarButton::OnCalculateSize.) |
CMFCToolBarEditBoxButton::OnChangeParentWnd | Вызывается платформой при вставке кнопки в новую панель инструментов. (Переопределения CMFCToolBarButton::OnChangeParentWnd.) |
CMFCToolBarEditBoxButton::OnClick | Вызывается платформой, когда пользователь нажимает кнопку мыши. (Переопределения CMFCToolBarButton::OnClick.) |
CMFCToolBarEditBoxButton::OnCtlColor | Вызывается платформой, когда родительская панель инструментов обрабатывает сообщение WM_CTLCOLOR. (Переопределения CMFCToolBarButton::OnCtlColor.) |
CMFCToolBarEditBoxButton::OnDraw |
Вызывается платформой для рисования кнопки с помощью указанных стилей и параметров. (Переопределения CMFCToolBarButton::OnDraw.) |
CMFCToolBarEditBoxButton::OnDrawOnCustomizeList |
Вызывается платформой для рисования кнопки в области "Команды " диалогового окна "Настройка ". (Переопределения CMFCToolBarButton::OnDrawOnCustomizeList.) |
CMFCToolBarEditBoxButton::OnGlobalFontsChanged | Вызывается платформой при изменении глобального шрифта. (Переопределения CMFCToolBarButton::OnGlobalFontsChanged.) |
CMFCToolBarEditBoxButton::OnMove | Вызывается платформой при перемещении родительской панели инструментов. (Переопределения CMFCToolBarButton::OnMove.) |
CMFCToolBarEditBoxButton::OnShow | Вызывается платформой, когда кнопка становится видимой или невидимой. (Переопределения CMFCToolBarButton::OnShow.) |
CMFCToolBarEditBoxButton::OnSize | Вызывается платформой, когда родительская панель инструментов изменяет размер или положение, и это изменение приводит к изменению размера кнопки. (Переопределения CMFCToolBarButton::OnSize.) |
CMFCToolBarEditBoxButton::OnUpdateToolTip | Вызывается платформой, когда родительская панель инструментов обновляет текст подсказки. (Переопределения CMFCToolBarButton::OnUpdateToolTip.) |
CMFCToolBarEditBoxButton::Serialize |
Считывает этот объект из архива или записывает его в архив. (Переопределения CMFCToolBarButton::Serialize.) |
CMFCToolBarEditBoxButton::SetACCData |
Заполняет предоставленный CAccessibilityData объект данными специальных возможностей с помощью кнопки панели инструментов. (Переопределения CMFCToolBarButton::SetACCData.) |
CMFCToolBarEditBoxButton:: CMFCToolBarEditBoxButton::SetContents |
Задает текст в элементе управления правки кнопки. |
CMFCToolBarEditBoxButton:: CMFCToolBarEditBoxButton::SetContentsAll |
Находит кнопку правки с указанным идентификатором команды и задает текст в элементе управления правки этой кнопки. |
CMFCToolBarEditBoxButton::SetContextMenuID | Указывает идентификатор ресурса контекстного меню, связанного с кнопкой. |
CMFCToolBarEditBoxButton::SetFlatMode | Указывает внешний вид неструктурированных кнопок поля редактирования в приложении. |
CMFCToolBarEditBoxButton:: CMFCToolBarEditBoxButton::SetStyle |
Задает стиль кнопки. (Переопределения CMFCToolBarButton::SetStyle.) |
Замечания
Чтобы добавить кнопку "Поле редактирования" на панель инструментов, выполните следующие действия.
Зарезервировать фиктивный идентификатор ресурса для кнопки в родительском ресурсе панели инструментов.
CMFCToolBarEditBoxButton
Создание объекта.В обработчике сообщений, обрабатывающего сообщение AFX_WM_RESETTOOLBAR, замените фиктивную кнопку новой кнопкой со списком с помощью CMFCToolBar::ReplaceButton.
Дополнительные сведения см. в пошаговом руководстве. Размещение элементов управления на панелях инструментов.
Пример
В приведенном ниже примере демонстрируется использование различных методов класса CMFCToolBarEditBoxButton
. В примере показано, как указать, что пользователь может растянуть кнопку во время настройки, указать, что граница кнопки отображается, когда пользователь нажимает кнопку, задает текст в элементе управления "Текстовое поле", указывает внешний вид кнопок поля редактирования в приложении и задает стиль элемента управления редактирования панели инструментов.
CMFCToolBarEditBoxButton *boxButton = new CMFCToolBarEditBoxButton();
boxButton->CanBeStretched();
boxButton->HaveHotBorder();
boxButton->SetContents(_T("edit box button"));
boxButton->SetFlatMode(true);
boxButton->SetStyle(TBBS_PRESSED);
Иерархия наследования
CMFCToolBarEditBoxButton
Требования
Заголовок: afxtoolbareditboxbutton.h
CMFCToolBarEditBoxButton::CanBeStretched
Указывает, может ли пользователь растянуть кнопку во время настройки.
virtual BOOL CanBeStretched() const;
Возвращаемое значение
Этот метод возвращает ЗНАЧЕНИЕ TRUE.
Замечания
По умолчанию платформа не позволяет пользователю растянуть кнопку панели инструментов во время настройки. Этот метод расширяет реализацию базового класса ( CMFCToolBarButton::CanBeStretched), позволяя пользователю растянуть кнопку панели инструментов поля редактирования во время настройки.
CMFCToolBarEditBoxButton::CMFCToolBarEditBoxButton
Создает объект CMFCToolBarEditBoxButton.
CMFCToolBarEditBoxButton(
UINT uiID,
int iImage,
DWORD dwStyle=ES_AUTOHSCROLL,
int iWidth=0);
Параметры
uiID
[in] Указывает идентификатор элемента управления.
iImage
[in] Задает отсчитываемый от нуля индекс изображения панели инструментов. Изображение находится в объекте класса CMFCToolBarImages, который поддерживает класс CMFCToolBar.
dwStyle
[in] Задает стиль элемента управления правки.
iWidth
[in] Задает ширину в пикселях элемента управления редактирования.
Замечания
Конструктор по умолчанию задает стиль элемента управления правки следующим сочетанием:
WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL
Ширина элемента управления по умолчанию составляет 150 пикселей.
CMFCToolBarEditBoxButton::CopyFrom
Копирует свойства другой кнопки панели инструментов на текущую кнопку.
virtual void CopyFrom(const CMFCToolBarButton& src);
Параметры
src
[in] Ссылка на исходную кнопку, из которой следует скопировать.
Замечания
Вызовите этот метод, чтобы скопировать другую кнопку панели инструментов на эту кнопку панели инструментов. src должен иметь тип CMFCToolBarEditBoxButton
.
CMFCToolBarEditBoxButton::CreateEdit
Создает элемент управления редактирования в кнопке.
virtual CEdit* CreateEdit(
CWnd* pWndParent,
const CRect& rect);
Параметры
pWndParent
[in] Указывает родительское окно элемента управления редактирования. Он не должен иметь значение NULL.
rect
[in] Указывает размер и позицию элемента управления редактирования.
Возвращаемое значение
Указатель на только что созданный элемент управления редактирования; значение NULL, если создание и вложение элемента управления завершаются ошибкой.
Замечания
Вы создаете CMFCToolBarEditBoxButton
объект на двух шагах. Сначала вызовите конструктор, а затем вызов CreateEdit
, который создает элемент управления редактирования Windows и присоединяет его к объекту CMFCToolBarEditBoxButton
.
CMFCToolBarEditBoxButton::GetByCmd
Извлекает первый CMFCToolBarEditBoxButton
объект в приложении с указанным идентификатором команды.
static CMFCToolBarEditBoxButton* __stdcall GetByCmd(UINT uiCmd);
Параметры
uiCmd
[in] Идентификатор команды для получения кнопки.
Возвращаемое значение
Первый CMFCToolBarEditBoxButton
объект в приложении с указанным идентификатором команды или NULL, если такой объект отсутствует.
Замечания
Этот общий метод служебной программы используется такими методами, как CMFCToolBarEditBoxButton::SetContentsAll и CMFCToolBarEditBoxButton::GetContentsAll , чтобы задать или получить текст первого элемента управления панели инструментов редактирования с указанным идентификатором команды.
CMFCToolBarEditBoxButton::GetContentsAll
Извлекает текст первого элемента управления панели инструментов поля редактирования с указанным идентификатором команды.
static CString __stdcall GetContentsAll(UINT uiCmd);
Параметры
uiCmd
[in] Идентификатор команды кнопки, из которой требуется получить содержимое.
Возвращаемое значение
Объект CString
, содержащий текст первого элемента управления панели инструментов редактирования с указанным идентификатором команды.
Замечания
Этот метод возвращает пустую строку, если у объектов нет CMFCToolBarEditBoxButton
указанного идентификатора команды.
CMFCToolBarEditBoxButton::GetContextMenuID
Извлекает идентификатор ресурса контекстного меню, связанного с кнопкой.
UINT GetContextMenuID();
Возвращаемое значение
Идентификатор ресурса контекстного меню, связанного с кнопкой или 0, если кнопка не имеет связанного контекстного меню.
Замечания
Платформа использует идентификатор ресурса для создания контекстного меню при щелчке правой кнопкой мыши пользователя.
CMFCToolBarEditBoxButton::GetEditBorder
Извлекает ограничивающий прямоугольник элемента редактирования кнопки "Изменить".
virtual void GetEditBorder(CRect& rectBorder);
Параметры
rectBorder
[out] Ссылка на CRect
объект, получающий ограничивающий прямоугольник.
Замечания
Этот метод извлекает ограничивающий прямоугольник элемента управления редактирования в координатах клиента. Он расширяет размер прямоугольника в каждом направлении на один пиксель.
Метод CMFCVisualManager::OnDrawEditBorder вызывает этот метод при рисовании границы вокруг CMFCToolBarEditBoxButton
объекта.
CMFCToolBarEditBoxButton::GetEditBox
Возвращает указатель на элемент управления класса CEdit, внедренный в кнопку.
CEdit* GetEditBox() const;
Возвращаемое значение
Указатель на элемент управления класса CEdit, который содержит кнопка. Значение NULL, если элемент CEdit
управления еще не создан.
Замечания
Вы создаете CEdit
элемент управления путем вызова CMFCToolBarEditBoxButton::CreateEdit.
CMFCToolBarEditBoxButton::GetHwnd
Извлекает дескриптор окна, связанный с кнопкой панели инструментов.
virtual HWND GetHwnd();
Возвращаемое значение
Дескриптор окна, связанный с кнопкой.
Замечания
Этот метод переопределяет метод CMFCToolBarButton::GetHwnd , возвращая дескриптор окна части элемента управления редактирования кнопки "Изменить".
CMFCToolBarEditBoxButton::GetInvalidateRect
Извлекает область клиентской области кнопки, которую необходимо перезапустить.
virtual const CRect GetInvalidateRect() const;
Возвращаемое значение
CRect
Объект, указывающий регион, который необходимо перезапустить.
Замечания
Этот метод расширяет реализацию базового класса CMFCToolBarButton ::GetInvalidateRect, включая область текстовой метки.
CMFCToolBarEditBoxButton::HaveHotBorder
Определяет, отображается ли граница кнопки при нажатии кнопки.
virtual BOOL HaveHotBorder() const;
Возвращаемое значение
Ненулевое значение, если кнопка отображает ее границу при выборе; в противном случае — 0.
Замечания
Этот метод расширяет реализацию базового класса CMFCToolBarButton::HaveHotBorder, возвращая ненулевое значение, если элемент управления виден.
CMFCToolBarEditBoxButton::IsFlatMode
Определяет, имеют ли кнопки поля редактирования неструктурированный стиль.
static BOOL __stdcall IsFlatMode();
Возвращаемое значение
Ненулевое значение, если кнопки имеют неструктурированный стиль; в противном случае — значение 0.
Замечания
По умолчанию кнопки редактирования имеют неструктурированный стиль. Используйте метод CMFCToolBarEditBoxButton::SetFlatMode, чтобы изменить внешний вид стиля для приложения.
CMFCToolBarEditBoxButton::NotifyCommand
Указывает, обрабатывает ли кнопка сообщение WM_COMMAND .
virtual BOOL NotifyCommand(int iNotifyCode);
Параметры
iNotifyCode
[in] Сообщение уведомления, связанное с командой.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если кнопка обрабатывает сообщение WM_COMMAND или FALSE, чтобы указать, что сообщение должно обрабатываться родительской панелью инструментов.
Замечания
Платформа вызывает этот метод, когда речь идет о отправке сообщения WM_COMMAND в родительское окно.
Этот метод расширяет реализацию базового класса ( CMFCToolBarButton::NotifyCommand), обрабатывая уведомление EN_UPDATE . Для каждого поля редактирования с тем же идентификатором команды, что и этот объект, он задает его текстовую метку в текстовой метки этого объекта.
CMFCToolBarEditBoxButton::OnAddToCustomizePage
Вызывается платформой при добавлении кнопки в диалоговое окно "Настройка ".
virtual void OnAddToCustomizePage();
Замечания
Этот метод расширяет реализацию базового класса ( CMFCToolBarButton::OnAddToCustomizePage), копируя свойства из элемента управления "Поле редактирования" на любой панели инструментов с тем же идентификатором команды, что и этот объект. Этот метод ничего не делает, если панель инструментов не имеет элемента управления "Поле редактирования", который имеет тот же идентификатор команды, что и этот объект.
Дополнительные сведения о диалоговом окне "Настройка" см. в классе CMFCToolBarsCustomizeDialog.
CMFCToolBarEditBoxButton::OnChangeParentWnd
Вызывается платформой при вставке кнопки в новую панель инструментов.
virtual void OnChangeParentWnd(CWnd* pWndParent);
Параметры
pWndParent
[in] Указатель на новое родительское окно.
Замечания
Этот метод переопределяет реализацию базового класса ( CMFCToolBarButton::OnChangeParentWnd), воссоздав внутренний CEdit
объект.
CMFCToolBarEditBoxButton::OnClick
Вызывается платформой, когда пользователь нажимает кнопку мыши.
virtual BOOL OnClick(
CWnd* pWnd,
BOOL bDelay = TRUE);
Параметры
pWnd
[in] Неиспользованный.
bDelay
[in] Неиспользованный.
Возвращаемое значение
Ненулевое значение, если кнопка обрабатывает сообщение нажатия; в противном случае — 0.
Замечания
Этот метод переопределяет реализацию базового класса ( CMFCToolBarButton::OnClick), возвращая ненулевое значение, если внутренний CEdit
объект виден.
CMFCToolBarEditBoxButton::OnCtlColor
Вызывается платформой, когда родительская панель инструментов обрабатывает сообщение WM_CTLCOLOR.
virtual HBRUSH OnCtlColor(
CDC* pDC,
UINT nCtlColor);
Параметры
pDC
[in] Контекст устройства, отображающий кнопку.
nCtlColor
[in] Неиспользованный.
Возвращаемое значение
Дескриптор глобального окна.
Замечания
Этот метод переопределяет реализацию базового класса ( CMFCToolBarButton::OnCtlColor), задав цвета текста и фона предоставленного контекста устройства глобальными цветами текста и фона соответственно.
Дополнительные сведения о глобальных параметрах, доступных для приложения, см. в разделе AFX_GLOBAL_DATA Структура.
CMFCToolBarEditBoxButton::OnGlobalFontsChanged
Вызывается платформой при изменении глобального шрифта.
virtual void OnGlobalFontsChanged();
Замечания
Этот метод расширяет реализацию базового класса ( CMFCToolBarButton::OnGlobalFontsChanged), изменив шрифт элемента управления на глобальный шрифт.
Дополнительные сведения о глобальных параметрах, доступных для приложения, см. в разделе AFX_GLOBAL_DATA Структура.
CMFCToolBarEditBoxButton::OnMove
Вызывается платформой при перемещении родительской панели инструментов.
virtual void OnMove();
Замечания
Этот метод переопределяет реализацию класса по умолчанию ( CMFCToolBarButton::OnMove), обновив положение внутреннего CEdit
объекта
CMFCToolBarEditBoxButton::OnShow
Вызывается платформой, когда кнопка становится видимой или невидимой.
virtual void OnShow(BOOL bShow);
Параметры
bShow
[in] Указывает, отображается ли кнопка. Если этот параметр имеет значение TRUE, кнопка отображается. В противном случае кнопка не отображается.
Замечания
Этот метод расширяет реализацию базового класса (CMFCToolBarButton::OnShow), отображая кнопку, если bShow имеет значение TRUE. В противном случае этот метод скрывает кнопку.
CMFCToolBarEditBoxButton::OnSize
Вызывается платформой, когда родительская панель инструментов изменяет размер или положение, и это изменение приводит к изменению размера кнопки.
virtual void OnSize(int iSize);
Параметры
iSize
[in] Новая ширина кнопки в пикселях.
Замечания
Этот метод переопределяет реализацию класса по умолчанию CMFCToolBarButton ::OnSize путем обновления размера и положения внутреннего CEdit
объекта.
CMFCToolBarEditBoxButton::OnUpdateToolTip
Вызывается платформой, когда родительская панель инструментов обновляет текст подсказки.
virtual BOOL OnUpdateToolTip(
CWnd* pWndParent,
int iButtonIndex,
CToolTipCtrl& wndToolTip,
CString& str);
Параметры
pWndParent
[in] Неиспользованный.
iButtonIndex
[in] Неиспользованный.
wndToolTip
[in] Элемент управления, отображающий текст подсказки.
str
[out] Объект CString
, получающий обновленный текст подсказки.
Возвращаемое значение
Ненулевое значение, если метод обновляет текст подсказки; в противном случае — 0.
Замечания
Этот метод расширяет реализацию базового класса ( CMFCToolBarButton::OnUpdateToolTip), отображая текст подсказки, связанный с частью редактирования кнопки. Если внутренний CEdit
объект имеет значение NULL или дескриптор CEdit
окна объекта не определяет существующее окно, этот метод ничего не делает и возвращает значение FALSE.
CMFCToolBarEditBoxButton::SetContents
Задает текст в элементе управления "Текстовое поле".
virtual void SetContents(const CString& sContents);
Параметры
sContents
[in] Задает новый текст, который нужно задать.
CMFCToolBarEditBoxButton::SetContentsAll
Находит объект CMFCToolBarEditBoxButton с указанным идентификатором команды и задает указанный текст в текстовом поле.
static BOOL SetContentsAll(
UINT uiCmd,
const CString& strContents);
Параметры
uiCmd
[in] Указывает идентификатор команды элемента управления, для которого будет изменен текст.
strContents
[in] Задает новый текст, который нужно задать.
Возвращаемое значение
Ненулевое значение, если текст был задан; Значение 0, если CMFCToolBarEditBoxButton
элемент управления с указанным идентификатором команды не существует.
CMFCToolBarEditBoxButton::SetContextMenuID
Указывает идентификатор ресурса контекстного меню, связанного с кнопкой.
void SetContextMenuID(UINT uiResID);
Параметры
uiCmd
[in] Идентификатор ресурса контекстного меню.
Замечания
Платформа использует идентификатор ресурса для создания контекстного меню, когда пользователь щелкает правой кнопкой мыши панель инструментов.
CMFCToolBarEditBoxButton::SetFlatMode
Указывает внешний вид неструктурированных кнопок поля редактирования в приложении.
static void __stdcall SetFlatMode(BOOL bFlat = TRUE);
Параметры
bFlat
[in] Неструктурированный стиль кнопок поля редактирования. Если этот параметр имеет значение TRUE, внешний вид неструктурированного стиля включен; в противном случае внешний вид неструктурированного стиля отключен.
Замечания
По умолчанию для кнопок поля редактирования используется неструктурированный стиль. Используйте метод CMFCToolBarEditBoxButton::IsFlatMode, чтобы получить внешний вид плоского стиля для приложения.
CMFCToolBarEditBoxButton::SetStyle
Задает стиль элемента управления "Поле редактирования панели инструментов".
virtual void SetStyle(UINT nStyle);
Параметры
nStyle
[in] Новый стиль для задания.
Замечания
Этот метод задает cmFCToolBarButton::m_nStyle значение nStyle It также отключает текстовое поле, если приложение находится в режиме настройки, и включает его, если приложение не находится в режиме настройки (см. раздел CMFCToolBar::SetCustomizeMode и CMFCToolBar::IsCustomizeMode). Список допустимых флагов стилей см. в разделе "Стили элементов управления ToolBar".
См. также
Диаграмма иерархии
Классы
Класс CMFCToolBarButton
Класс CEdit
CMFCToolBar::ReplaceButton
Пошаговое руководство. Размещение элементов управления на панели инструментов