CMFCToolBarEditBoxButton (Clase)
Un botón de la barra de herramientas que contiene un control de edición (CEdit Class).
Sintaxis
class CMFCToolBarEditBoxButton : public CMFCToolBarButton
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CMFCToolBarEditBoxButton::CMFCToolBarEditBoxButton | Construye un objeto CMFCToolBarEditBoxButton . |
CMFCToolBarEditBoxButton::~CMFCToolBarEditBoxButton |
Destructor. |
Métodos públicos
Nombre | Descripción |
---|---|
CMFCToolBarEditBoxButton::CanBeStretched | Especifica si un usuario puede ajustar el botón durante la personalización. Invalida CMFCToolBarButton::CanBeStretched. |
CMFCToolBarEditBoxButton::CopyFrom | Copia las propiedades de otro botón de la barra de herramientas en el botón actual. (Invalida CMFCToolBarButton::CopyFrom). |
CMFCToolBarEditBoxButton:: CMFCToolBarEditBoxButton::CreateEdit |
Crea un nuevo control de edición en el botón. |
CMFCToolBarEditBoxButton::CreateObject |
Usado por el marco de trabajo para crear una instancia dinámica de este tipo de clase. |
CMFCToolBarEditBoxButton::GetByCmd | Recupera el primer objeto CMFCToolBarEditBoxButton en la aplicación que tiene el id. de comando especificado. |
CMFCToolBarEditBoxButton::GetContentsAll | Recupera el texto del primer control de la barra de herramientas del cuadro de edición que tiene el id. de comando especificado. |
CMFCToolBarEditBoxButton::GetContextMenuID | Recupera el id. de recurso del menú contextual asociado al botón. |
CMFCToolBarEditBoxButton::GetEditBorder | Recupera el rectángulo delimitador de la parte de edición del botón del cuadro de edición. |
CMFCToolBarEditBoxButton:: CMFCToolBarEditBoxButton::GetEditBox |
Devuelve un puntero al control de edición incrustado en el botón. |
CMFCToolBarEditBoxButton::GetHwnd | Recupera el manipulador de ventana asociado al botón de la barra de herramientas. Invalida CMFCToolBarButton::GetHwnd. |
CMFCToolBarEditBoxButton::GetInvalidateRect | Recupera la región del área cliente del botón que se debe volver a dibujar. (Invalida CMFCToolBarButton::GetInvalidateRect). |
CMFCToolBarEditBoxButton::GetThisClass |
Lo usa el marco para obtener un puntero al objeto CRuntimeClass asociado a este tipo de clase. |
CMFCToolBarEditBoxButton::HaveHotBorder | Determina si se muestra un borde del botón cuando un usuario hace clic en el botón. Invalida CMFCToolBarButton::HaveHotBorder. |
CMFCToolBarEditBoxButton::IsFlatMode | Determina si los botones de cuadro de edición tienen un estilo plano. |
CMFCToolBarEditBoxButton::NotifyCommand | Especifica si el botón procesa el mensaje WM_COMMAND. (Invalida CMFCToolBarButton::NotifyCommand). |
CMFCToolBarEditBoxButton::OnAddToCustomizePage | Lo llama el marco cuando se agrega el botón a un cuadro de diálogo Personalizar. (Invalida CMFCToolBarButton::OnAddToCustomizePage). |
CMFCToolBarEditBoxButton::OnCalculateSize |
Lo llama el marco para calcular el tamaño del botón para el contexto de dispositivo y el estado de acoplamiento especificados. (Invalida CMFCToolBarButton::OnCalculateSize.) |
CMFCToolBarEditBoxButton::OnChangeParentWnd | Lo llama el marco cuando el botón se inserta en una barra de herramientas nueva. (Invalida CMFCToolBarButton::OnChangeParentWnd). |
CMFCToolBarEditBoxButton::OnClick | Lo llama el marco cuando el usuario pulsa el botón del mouse. Invalida CMFCToolBarButton::OnClick. |
CMFCToolBarEditBoxButton::OnCtlColor | Lo llama el marco cuando la barra de herramientas primaria maneja un mensaje de WM_CTLCOLOR. (Invalida CMFCToolBarButton::OnCtlColor). |
CMFCToolBarEditBoxButton::OnDraw |
Lo llama el marco para dibujar el botón mediante las opciones y los estilos especificados. (Invalida CMFCToolBarButton::OnDraw.) |
CMFCToolBarEditBoxButton::OnDrawOnCustomizeList |
Lo llama el marco para dibujar el botón en el panel Comandos del cuadro de diálogo Personalizar. Invalida CMFCToolBarButton::OnDrawOnCustomizeList. |
CMFCToolBarEditBoxButton::OnGlobalFontsChanged | Lo llama el el marco cuando cambia la fuente general. Invalida CMFCToolBarButton::OnGlobalFontsChanged. |
CMFCToolBarEditBoxButton::OnMove | Lo llama el marco cuando se mueve la barra de herramientas primaria. (Invalida CMFCToolBarButton::OnMove). |
CMFCToolBarEditBoxButton::OnShow | Lo llama el marco cuando el botón se vuelve visible o invisible. (Invalida CMFCToolBarButton::OnShow). |
CMFCToolBarEditBoxButton::OnSize | Lo llama el marco cuando la barra de herramientas primaria cambia de tamaño o posición y este cambio hace que el botón cambie de tamaño. Invalida CMFCToolBarButton::OnSize. |
CMFCToolBarEditBoxButton::OnUpdateToolTip | Lo llama el marco cuando la barra de herramientas primaria actualiza su texto de información sobre herramientas. Invalida CMFCToolBarButton::OnUpdateToolTip. |
CMFCToolBarEditBoxButton::Serialize |
Lee este objeto desde un archivo o lo escribe en un archivo. (Invalida CMFCToolBarButton::Serialize). |
CMFCToolBarEditBoxButton::SetACCData |
Rellena el objeto proporcionado CAccessibilityData con datos de accesibilidad desde el botón de la barra de herramientas. (Invalida CMFCToolBarButton::SetACCData.) |
CMFCToolBarEditBoxButton:: CMFCToolBarEditBoxButton::SetContents |
Establece el texto del control de edición del botón. |
CMFCToolBarEditBoxButton:: CMFCToolBarEditBoxButton::SetContentsAll |
Busca el botón de control de edición que tiene un id. de comando especificado y establece el texto en el control de edición de ese botón. |
CMFCToolBarEditBoxButton::SetContextMenuID | Especifica el id. de recurso del menú contextual asociado al botón. |
CMFCToolBarEditBoxButton::SetFlatMode | Especifica la apariencia de estilo plano de los botones del cuadro de edición en la aplicación. |
CMFCToolBarEditBoxButton:: CMFCToolBarEditBoxButton::SetStyle |
Especifica el estilo del botón. (Invalida CMFCToolBarButton::SetStyle). |
Comentarios
Para agregar el botón de cuadro de edición a una barra de herramientas, siga estos pasos:
Reserve un id. de recurso ficticio para el botón en el recurso primario de la barra de herramientas.
Cree un objeto
CMFCToolBarEditBoxButton
.En el controlador de mensajes que procesa el mensaje de AFX_WM_RESETTOOLBAR, reemplace el botón ficticio por el nuevo botón del cuadro combinado mediante CMFCToolBar::ReplaceButton.
Para más información, consulte Tutorial: Colocación de controles en las barras de herramientas.
Ejemplo
En el siguiente ejemplo se muestra cómo usar los distintos métodos en la clase CMFCToolBarEditBoxButton
. En el ejemplo se muestra cómo especificar que un usuario puede ajustar el botón durante la personalización, especificar que se muestre un borde del botón cuando un usuario hace clic en el botón, establecer el texto en el control de cuadro de texto, especificar la apariencia de estilo plano de los botones de cuadro de edición de la aplicación, y especificar el estilo de un control de cuadro de edición de barra de herramientas.
CMFCToolBarEditBoxButton *boxButton = new CMFCToolBarEditBoxButton();
boxButton->CanBeStretched();
boxButton->HaveHotBorder();
boxButton->SetContents(_T("edit box button"));
boxButton->SetFlatMode(true);
boxButton->SetStyle(TBBS_PRESSED);
Jerarquía de herencia
CMFCToolBarEditBoxButton
Requisitos
Encabezado: afxtoolbareditboxbutton.h
CMFCToolBarEditBoxButton::CanBeStretched
Especifica si un usuario puede ajustar el botón durante la personalización.
virtual BOOL CanBeStretched() const;
Valor devuelto
Este método devuelve TRUE.
Comentarios
De forma predeterminada, el marco no permite al usuario ajustar un botón de la barra de herramientas durante la personalización. Este método extiende la implementación de la clase base (CMFCToolBarButton::CanBeStretched) permitiendo al usuario ajustar un botón de la barra de herramientas del cuadro de edición durante la personalización.
CMFCToolBarEditBoxButton::CMFCToolBarEditBoxButton
Construye un objeto CMFCToolBarEditBoxButton.
CMFCToolBarEditBoxButton(
UINT uiID,
int iImage,
DWORD dwStyle=ES_AUTOHSCROLL,
int iWidth=0);
Parámetros
uiID
[in] Especifica el id. de control.
iImage
[in] Especifica el índice de base cero de una imagen de la barra de herramientas. La imagen se encuentra en el objeto CMFCToolBarImages Class que la clase CMFCToolBar Class mantiene.
dwStyle
[in] Especifica el estilo del control de edición.
iWidth
[in] Especifica el ancho en píxeles del control de edición.
Comentarios
El constructor predeterminado establece el estilo del control de edición en la siguiente combinación:
WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL
El ancho predeterminado del control es de 150 píxeles.
CMFCToolBarEditBoxButton::CopyFrom
Copia las propiedades de otro botón de la barra de herramientas en el botón actual.
virtual void CopyFrom(const CMFCToolBarButton& src);
Parámetros
src
[in] Referencia al botón de origen desde el que se va a copiar.
Comentarios
Llame a este método para copiar otro botón de la barra de herramientas en este botón de la barra de herramientas. src debe ser del tipo CMFCToolBarEditBoxButton
.
CMFCToolBarEditBoxButton::CreateEdit
Crea un nuevo control de edición en el botón.
virtual CEdit* CreateEdit(
CWnd* pWndParent,
const CRect& rect);
Parámetros
pWndParent
[in] Especifica la ventana primaria del control de edición. No debe ser NULL.
rect
[in] Especifica el tamaño y la posición del control de edición.
Valor devuelto
Un puntero al control de edición recién creado; es NULL si se produce un error en la creación y el adjuntado del control.
Comentarios
El objeto CMFCToolBarEditBoxButton
se construye en dos pasos. En primer lugar, llame al constructor y, a continuación, llame a CreateEdit
, que crea el control de edición de Windows y lo adjunta al objeto CMFCToolBarEditBoxButton
.
CMFCToolBarEditBoxButton::GetByCmd
Recupera el primer objeto CMFCToolBarEditBoxButton
en la aplicación que tiene el id. de comando especificado.
static CMFCToolBarEditBoxButton* __stdcall GetByCmd(UINT uiCmd);
Parámetros
uiCmd
[in] El id. de comando del botón que se va a recuperar.
Valor devuelto
El primer objeto CMFCToolBarEditBoxButton
de la aplicación que tiene el id. de comando especificado, o NULL si no existe dicho objeto.
Comentarios
Este método de utilidad compartida es usada por métodos como CMFCToolBarEditBoxButton::SetContentsAll y CMFCToolBarEditBoxButton::GetContentsAll para establecer u obtener el texto del primer control de la barra de herramientas del cuadro de edición que tiene el id. de comando especificado.
CMFCToolBarEditBoxButton::GetContentsAll
Recupera el texto del primer control de la barra de herramientas del cuadro de edición que tiene el id. de comando especificado.
static CString __stdcall GetContentsAll(UINT uiCmd);
Parámetros
uiCmd
[in] El id. de comando del botón desde el que se recuperan contenidos.
Valor devuelto
Un objeto CString
que contiene el texto del primer control de la barra de herramientas del cuadro de edición que tiene el id. de comando especificado.
Comentarios
Este método devuelve la cadena vacía si no hay ningún objeto CMFCToolBarEditBoxButton
con el id. de comando especificado.
CMFCToolBarEditBoxButton::GetContextMenuID
Recupera el id. de recurso del menú contextual asociado al botón.
UINT GetContextMenuID();
Valor devuelto
El id. de recurso del menú contextual asociado al botón, o 0 si el botón no tiene ningún menú contextual asociado.
Comentarios
El marco usa el id. de recurso para crear el menú contextual cuando el usuario hace clic con el botón derecho en el botón.
CMFCToolBarEditBoxButton::GetEditBorder
Recupera el rectángulo delimitador de la parte de edición del botón del cuadro de edición.
virtual void GetEditBorder(CRect& rectBorder);
Parámetros
rectBorder
[out] Una referencia al objeto CRect
que recibe el rectángulo delimitador.
Comentarios
Este método recupera el rectángulo delimitador del control de edición en coordenadas cliente. Expande el tamaño del rectángulo en cada dirección en un píxel.
El método CMFCVisualManager::OnDrawEditBorder llama a este método cuando dibuja el borde alrededor de un objeto CMFCToolBarEditBoxButton
.
CMFCToolBarEditBoxButton::GetEditBox
Devuelve un puntero al control declase CEdit que está incrustado en el botón.
CEdit* GetEditBox() const;
Valor devuelto
Un puntero al control CEdit Class que el botón contiene. Es NULL si aún no se ha creado el control CEdit
.
Comentarios
Para crear el control CEdit
, llame a CMFCToolBarEditBoxButton::CreateEdit.
CMFCToolBarEditBoxButton::GetHwnd
Recupera el manipulador de ventana asociado al botón de la barra de herramientas.
virtual HWND GetHwnd();
Valor devuelto
El controlador de ventana asociado al botón.
Comentarios
Este método invalida el método CMFCToolBarButton::GetHwnd devolviendo el controlador de ventana de la parte de control de edición del botón del cuadro de edición.
CMFCToolBarEditBoxButton::GetInvalidateRect
Recupera la región del área cliente del botón que se debe volver a dibujar.
virtual const CRect GetInvalidateRect() const;
Valor devuelto
Objeto CRect
que especifica la región que se debe volver a dibujar.
Comentarios
Este método extiende la implementación de la clase base,CMFCToolBarButton::GetInvalidateRect, incluyendo en la región el área de la etiqueta de texto.
CMFCToolBarEditBoxButton::HaveHotBorder
Determina si se muestra un borde del botón cuando un usuario hace clic en el botón.
virtual BOOL HaveHotBorder() const;
Valor devuelto
Distinto de cero si un botón muestra su borde cuando está seleccionado; de lo contrario, 0.
Comentarios
Este método extiende la implementación de la clase base,CMFCToolBarButton::HaveHotBorder, devolviendo un valor distinto de cero si el control está visible.
CMFCToolBarEditBoxButton::IsFlatMode
Determina si los botones de cuadro de edición tienen un estilo plano.
static BOOL __stdcall IsFlatMode();
Valor devuelto
Distinto de cero si los botones tienen un estilo plano; de lo contrario, 0.
Comentarios
De forma predeterminada, los botones de cuadro de edición tienen un estilo plano. Use el método CMFCToolBarEditBoxButton::SetFlatMode para cambiar la apariencia de estilo plano de la aplicación.
CMFCToolBarEditBoxButton::NotifyCommand
Especifica si el botón procesa el mensaje WM_COMMAND.
virtual BOOL NotifyCommand(int iNotifyCode);
Parámetros
iNotifyCode
[in] El mensaje de notificación asociado al comando.
Valor devuelto
TRUE si el botón procesa el mensaje WM_COMMAND, o FALSE para indicar que la barra de herramientas primaria debe manejar el mensaje.
Comentarios
El marco llama a este método cuando está a punto de enviar un mensaje WM_COMMAND a la ventana primaria.
Este método extiende la implementación de la clase base (CMFCToolBarButton::NotifyCommand) procesando la notificación EN_UPDATE. Para cada cuadro de edición con el mismo id. de comando que este objeto, establece su etiqueta de texto en la etiqueta de texto de este objeto.
CMFCToolBarEditBoxButton::OnAddToCustomizePage
Lo llama el marco cuando se agrega el botón a un cuadro de diálogo Personalizar.
virtual void OnAddToCustomizePage();
Comentarios
Este método extiende la implementación de la clase base (CMFCToolBarButton::OnAddToCustomizePage) copiando las propiedades del control del cuadro de edición en cualquier barra de herramientas que tenga el mismo id. de comando que este objeto. Este método no hace nada si ninguna barra de herramientas tiene un control del cuadro de edición que tenga el mismo id. de comando que este objeto.
Para obtener más información sobre el cuadro de diálogo Personalizar, consulte CMFCToolBarsCustomizeDialog Clase.
CMFCToolBarEditBoxButton::OnChangeParentWnd
Lo llama el marco cuando el botón se inserta en una barra de herramientas nueva.
virtual void OnChangeParentWnd(CWnd* pWndParent);
Parámetros
pWndParent
[in] Un puntero a la nueva ventana primaria.
Comentarios
Este método invalida la implementación de la clase base (CMFCToolBarButton::OnChangeParentWnd) volviendo a crear el objeto interno CEdit
.
CMFCToolBarEditBoxButton::OnClick
Lo llama el marco cuando el usuario pulsa el botón del mouse.
virtual BOOL OnClick(
CWnd* pWnd,
BOOL bDelay = TRUE);
Parámetros
pWnd
[in] Sin utilizar.
bDelay
[in] Sin utilizar.
Valor devuelto
Distinto de cero si el botón procesa el mensaje de clic; de lo contrario, 0.
Comentarios
Este método invalida la implementación de la clase base (CMFCToolBarButton::OnClick) devolviendo un valor distinto de cero si el objeto interno CEdit
está visible.
CMFCToolBarEditBoxButton::OnCtlColor
Lo llama el marco cuando la barra de herramientas primaria maneja un mensaje de WM_CTLCOLOR.
virtual HBRUSH OnCtlColor(
CDC* pDC,
UINT nCtlColor);
Parámetros
pDC
[in] Contexto de dispositivo que muestra el botón.
nCtlColor
[in] Sin utilizar.
Valor devuelto
Un manipulador del pincel de ventana general.
Comentarios
Este método invalida la implementación de la clase base (CMFCToolBarButton::OnCtlColor) estableciendo los colores del texto y del fondo del contexto del dispositivo proporcionado en los colores generales del texto y del fondo, respectivamente.
Para obtener más información sobre las opciones generales que están disponibles para la aplicación, consulte la estructura AFX_GLOBAL_DATA.
CMFCToolBarEditBoxButton::OnGlobalFontsChanged
Lo llama el el marco cuando cambia la fuente general.
virtual void OnGlobalFontsChanged();
Comentarios
Este método extiende la implementación de la clase base (CMFCToolBarButton::OnGlobalFontsChanged) cambiando la fuente del control a la de la fuente general.
Para obtener más información sobre las opciones generales que están disponibles para la aplicación, consulte la estructura AFX_GLOBAL_DATA.
CMFCToolBarEditBoxButton::OnMove
Lo llama el marco cuando se mueve la barra de herramientas primaria.
virtual void OnMove();
Comentarios
Este método invalida la implementación de clase predeterminada (CMFCToolBarButton::OnMove) actualizando la posición del objeto interno CEdit
.
CMFCToolBarEditBoxButton::OnShow
Lo llama el marco cuando el botón se vuelve visible o invisible.
virtual void OnShow(BOOL bShow);
Parámetros
bShow
[in] Especifica si el botón está visible. Si este parámetro es TRUE, el botón está visible. De lo contrario, no lo está.
Comentarios
Este método extiende la implementación de la clase base (CMFCToolBarButton::OnShow) mostrando el botón si bShow es TRUE. De lo contrario, este método oculta el botón.
CMFCToolBarEditBoxButton::OnSize
Lo llama el marco cuando la barra de herramientas primaria cambia de tamaño o posición y este cambio hace que el botón cambie de tamaño.
virtual void OnSize(int iSize);
Parámetros
iSize
[in] El nuevo ancho de la columna, en píxeles.
Comentarios
Este método invalida la implementación de clase predeterminada, CMFCToolBarButton::OnMove, actualizando la posición del objeto interno CEdit
.
CMFCToolBarEditBoxButton::OnUpdateToolTip
Lo llama el marco cuando la barra de herramientas primaria actualiza su texto de información sobre herramientas.
virtual BOOL OnUpdateToolTip(
CWnd* pWndParent,
int iButtonIndex,
CToolTipCtrl& wndToolTip,
CString& str);
Parámetros
pWndParent
[in] Sin utilizar.
iButtonIndex
[in] Sin utilizar.
wndToolTip
[in] El control que muestra el texto de información sobre herramientas.
str
[out] Objeto CString
que recibe el texto de información sobre herramientas actualizado.
Valor devuelto
Distinto de cero si el método actualiza el texto de la información sobre herramientas; de lo contrario, 0.
Comentarios
Este método extiende la implementación de la clase base (CMFCToolBarButton::OnUpdateToolTip) mostrando el texto de la información sobre herramientas asociado a la parte de edición del botón. Si el objeto interno CEdit
es NULL o el manipulador de ventana del objeto CEdit
no identifica una ventana existente, este método no hace nada y devuelve FALSE.
CMFCToolBarEditBoxButton::SetContents
Establece el texto del control del cuadro de texto.
virtual void SetContents(const CString& sContents);
Parámetros
sContents
[in] Especifica el nuevo texto que se va a establecer.
CMFCToolBarEditBoxButton::SetContentsAll
Encuentra un objeto CMFCToolBarEditBoxButton que tiene un id. de comando especificado y establece el texto especificado en su cuadro de texto.
static BOOL SetContentsAll(
UINT uiCmd,
const CString& strContents);
Parámetros
uiCmd
[in] Especifica el id. de comando del control para el que se cambiará el texto.
strContents
[in] Especifica el nuevo texto que se va a establecer.
Valor devuelto
Distinto de cero si se estableció el texto; 0 si el control CMFCToolBarEditBoxButton
con el id. de comando especificado no existe.
CMFCToolBarEditBoxButton::SetContextMenuID
Especifica el id. de recurso del menú contextual asociado al botón.
void SetContextMenuID(UINT uiResID);
Parámetros
uiCmd
[in] El id. de recurso del menú contextual.
Comentarios
El marco usa el id. de recurso para crear el menú contextual cuando el usuario hace clic con el botón derecho en el botón de la barra de herramientas.
CMFCToolBarEditBoxButton::SetFlatMode
Especifica la apariencia de estilo plano de los botones del cuadro de edición en la aplicación.
static void __stdcall SetFlatMode(BOOL bFlat = TRUE);
Parámetros
bFlat
[in] El estilo plano para botones del cuadro de edición. Si este parámetro es TRUE, se habilita la apariencia de estilo plano; de lo contrario, la apariencia de estilo plano está deshabilitada.
Comentarios
El estilo plano predeterminado para los botones del cuadro de edición es TRUE. Use el método CMFCToolBarEditBoxButton::SetFlatMode para recuperar la apariencia de estilo plano de la aplicación.
CMFCToolBarEditBoxButton::SetStyle
Especifica el estilo de un control del cuadro de edición de la barra de herramientas.
virtual void SetStyle(UINT nStyle);
Parámetros
nStyle
[in] Un nuevo estilo que se va a establecer.
Comentarios
Este método establece CMFCToolBarButton::m_nStyle en nStyle. También deshabilita el cuadro de texto cuando la aplicación está en modo Personalizar, y la habilita cuando la aplicación no está en modo Personalizar (consulte CMFCToolBar::SetCustomizeMode y CMFCToolBar::IsCustomizeMode). Consulte Estilos de control de la barra de herramientas para obtener una lista de marcas de estilo válidas.
Consulte también
Gráfico de jerarquías
Clases
CMFCToolBarButton (clase)
CEdit (clase)
CMFCToolBar::ReplaceButton
Tutorial: Poner controles en las barras de herramientas