Compartir a través de


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:

  1. Reserve un id. de recurso ficticio para el botón en el recurso primario de la barra de herramientas.

  2. Cree un objeto CMFCToolBarEditBoxButton.

  3. 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

CObject

CMFCToolBarButton

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