Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Кнопка панели инструментов, содержащая элемент управления редактированием ( класс 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
Пошаговое руководство. Размещение элементов управления на панели инструментов