Compartir a través de


Clase CMFCEditBrowseCtrl

La clase CMFCEditBrowseCtrl admite el control de cuadro de búsqueda modificable, que es un cuadro de texto modificable que contiene opcionalmente un botón Examinar. Cuando el usuario hace clic en el botón Examinar, el control realiza una acción personalizada o muestra un cuadro de diálogo estándar que contiene un explorador de archivos o un explorador de carpetas.

Sintaxis

class CMFCEditBrowseCtrl : public CEdit

Miembros

Constructores públicos

Nombre Descripción
CMFCEditBrowseCtrl::CMFCEditBrowseCtrl Constructor predeterminado.
CMFCEditBrowseCtrl::~CMFCEditBrowseCtrl Destructor.

Métodos públicos

Nombre Descripción
CMFCEditBrowseCtrl::EnableBrowseButton Habilita o deshabilita (oculta) el botón Examinar.
CMFCEditBrowseCtrl::EnableFileBrowseButton Habilita el botón Examinar y coloca el control de cuadro de búsqueda modificable en el modo examinar archivos.
CMFCEditBrowseCtrl::EnableFolderBrowseButton Habilita el botón Examinar y coloca el control de cuadro de búsqueda modificable en el modo examinar carpetas.
CMFCEditBrowseCtrl::GetMode Devuelve el modo de exploración actual.
CMFCEditBrowseCtrl::OnAfterUpdate Lo llama el marco después de actualizar el control de cuadro de búsqueda modificable con el resultado de una acción de examen.
CMFCEditBrowseCtrl::OnBrowse Llamado por el marco cuando el usuario hace clic en el botón Examinar.
CMFCEditBrowseCtrl::OnChangeLayout Vuelve a dibujar el control de cuadro de búsqueda modificable actual.
CMFCEditBrowseCtrl::OnDrawBrowseButton Lo llama el marco para dibujar el botón Examinar.
CMFCEditBrowseCtrl::OnIllegalFileName Lo llama el marco cuando se ingresa un nombre de archivo no válido en el control de edición.
CMFCEditBrowseCtrl::PreTranslateMessage Traduce los mensajes de ventana antes de enviarlos a las funciones de Windows TranslateMessage y DispatchMessage. Para obtener más información y la sintaxis, consulte CWnd::PreTranslateMessage.
CMFCEditBrowseCtrl::SetBrowseButtonImage Establece una imagen personalizada para el botón Examinar.

Comentarios

Use un control de cuadro de búsqueda modificable para seleccionar un nombre de archivo o carpeta. Opcionalmente, use el control para realizar una acción personalizada como mostrar un cuadro de diálogo. Puede mostrar o no mostrar el botón Examinar, y puede aplicar una etiqueta personalizada o una imagen en el botón.

El modo de exploración del control de cuadro de búsqueda modificable determina si muestra un botón Examinar y qué acción se produce cuando se hace clic en el botón. Para obtener más información, consulte el método GetMode.

La clase CMFCEditBrowseCtrl admite los modos siguientes.

  • modo personalizado

    Se realiza una acción personalizada cuando el usuario hace clic en el botón Examinar. Por ejemplo, puede mostrar un cuadro de diálogo específico de la aplicación.

  • modo de archivo

    Se muestra un cuadro de diálogo de selección de archivos estándar cuando el usuario hace clic en el botón Examinar.

  • modo de carpeta

    Se muestra un cuadro de diálogo de selección de carpetas estándar cuando el usuario hace clic en el botón Examinar.

Cómo especificar un Control de cuadro de búsqueda modificable

Realice los pasos siguientes para incorporar un control de cuadro de búsqueda modificable en la aplicación:

  1. Si desea implementar un modo de exploración personalizado, derive su propia clase de la clase CMFCEditBrowseCtrl y, a continuación, invalide el método CMFCEditBrowseCtrl::OnBrowse. En el método invalidado, ejecute una acción de exploración personalizada y actualice el control de cuadro de búsqueda modificable con el resultado.

  2. Inserte el objeto CMFCEditBrowseCtrl o el objeto de control de cuadro de búsqueda modificable derivado en el objeto de ventana principal.

  3. Si usa el Asistente para clases para crear un cuadro de diálogo, agregue un control de edición (CEdit) al formulario del cuadro de diálogo. Además, agregue una variable para acceder al control en su archivo de encabezado. En su archivo de encabezado, cambie el tipo de la variable de CEdit a CMFCEditBrowseCtrl. El control de cuadro de búsqueda modificable se creará automáticamente. Si no usa el Asistente para clases, agregue una variable CMFCEditBrowseCtrl al archivo de encabezado y, a continuación, llame a su método Create.

  4. Si agrega un control de cuadro de búsqueda modificable a un cuadro de diálogo, use la herramienta ClassWizard para configurar el intercambio de datos.

  5. Llame al método EnableFolderBrowseButton, EnableFileBrowseButton o EnableBrowseButton para establecer el modo de exploración y mostrar el botón Examinar. Llame al método GetMode para obtener el modo de exploración actual.

  6. Para proporcionar una imagen personalizada del botón Examinar, llame al método SetBrowseButtonImage o invalide el método OnDrawBrowseButton.

  7. Para quitar el botón Examinar del control de cuadro de búsqueda modificable, llame al método EnableBrowseButton con el parámetro bEnable establecido en FALSE.

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CEdit

CMFCEditBrowseCtrl

Ejemplo

En el siguiente ejemplo se muestra cómo usar los distintos métodos en la clase CMFCEditBrowseCtrl: EnableFolderBrowseButton y EnableFileBrowseButton. Este ejemplo forma parte del ejemplo de controles nuevos.

CMFCEditBrowseCtrl m_wndFolderEdit;
CMFCEditBrowseCtrl m_wndFileEdit;
// enable the browse button and put the control in file browse mode
m_wndFolderEdit.EnableFolderBrowseButton();
// enable the browse button and put the control in the folder browse mode
m_wndFileEdit.EnableFileBrowseButton();

Requisitos

Encabezado: afxeditbrowsectrl.h

CMFCEditBrowseCtrl::EnableBrowseButton

Muestra o no muestra el botón Examinar en el control de cuadro de búsqueda modificable actual.

void EnableBrowseButton(
    BOOL bEnable=TRUE,
    LPCTSTR szLabel=_T("..."));

Parámetros

bEnable
TRUE para mostrar el botón Examinar; FALSE para no mostrarlo. El valor predeterminado es TRUE.

szLabel
La etiqueta que se muestra en el botón Examinar. El valor predeterminado es " ...".

Comentarios

Si el parámetro bEnable es TRUE, implemente una acción personalizada que realizar cuando se haga clic en el botón Examinar. Para implementar una acción personalizada, derive una clase de la clase CMFCEditBrowseCtrl y, a continuación, invalide su método OnBrowse.

Si el parámetro bEnable es TRUE, el modo de exploración del control es BrowseMode_Default; de lo contrario, el modo de exploración es BrowseMode_None. Para obtener más información sobre los modos de exploración, consulte el método GetMode.

CMFCEditBrowseCtrl::EnableFileBrowseButton

Muestra el botón Examinar en el control de cuadro de búsqueda modificable actual y coloca el control en el modo examinar archivos.

void EnableFileBrowseButton(
    LPCTSTR lpszDefExt=NULL,
    LPCTSTR lpszFilter=NULL,
    DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT);

Parámetros

lpszDefExt
Especifica la extensión de nombre de archivo predeterminado que se usa en el cuadro de diálogo de selección de archivos. El valor predeterminado es NULL.

lpszFilter
Especifica la cadena de filtro predeterminado que se usa en el cuadro de diálogo de selección de archivos. El valor predeterminado es NULL.

dwFlags
Marcas de cuadro de diálogo. El valor predeterminado es una combinación bit a bit (OR) de OFN_HIDEREADONLY y OFN_OVERWRITEPROMPT.

Comentarios

Cuando el control de cuadro de búsqueda modificable está en modo de búsqueda de archivo y el usuario hace clic en el botón Examinar, el control muestra el cuadro de diálogo de selección de archivos estándar.

Para una lista completa de las marcas disponibles, consulte Estructura OPENFILENAME.

CMFCEditBrowseCtrl::EnableFolderBrowseButton

Muestra el botón Examinar en el control de cuadro de búsqueda modificable actual y coloca el control en el modo examinar carpetas.

void EnableFolderBrowseButton();

Comentarios

Cuando el control de cuadro de búsqueda modificable está en modo examinar archivos y el usuario hace clic en el botón Examinar, el control muestra el cuadro de diálogo de selección de carpetas estándar.

CMFCEditBrowseCtrl::GetMode

Recupera el modo de exploración del control de cuadro de búsqueda modificable actual.

CMFCEditBrowseCtrl::BrowseMode GetMode() const;

Valor devuelto

Uno de los valores de enumeración que especifica el modo actual del control de cuadro de búsqueda modificable. El modo de exploración determina si el marco muestra el botón Examinar y qué acción se produce cuando un usuario hace clic en ese botón.

La tabla siguiente muestra los valores devueltos posibles.

Valor Descripción
BrowseMode_Default modo personalizado. Se realiza una acción definida por el programador.
BrowseMode_File modo de archivo. Se muestra el cuadro de diálogo examinar archivos estándar.
BrowseMode_Folder modo de carpeta. Se muestra el cuadro de diálogo examinar archivos estándar.
BrowseMode_None No se muestra el botón Examinar.

Comentarios

De forma predeterminada, un objeto CMFCEditBrowseCtrl se inicializa en el modo BrowseMode_None. Modifique el modo de exploración con los métodos CMFCEditBrowseCtrl::EnableBrowseButton, CMFCEditBrowseCtrl::EnableFileBrowseButton y CMFCEditBrowseCtrl::EnableFolderBrowseButton.

CMFCEditBrowseCtrl::OnAfterUpdate

Lo llama el marco después de actualizar el control de cuadro de búsqueda modificable con el resultado de una acción de examen.

virtual void OnAfterUpdate();

Comentarios

Invalide este método en una clase derivada para implementar el comportamiento personalizado.

CMFCEditBrowseCtrl::OnBrowse

Lo llama el marco después de que el usuario haga clic en el botón Examinar del control de cuadro de búsqueda modificable.

virtual void OnBrowse();

Comentarios

Use este método para ejecutar código personalizado cuando el usuario haga clic en el botón Examinar del control de cuadro de búsqueda modificable. Derive su propia clase de la clase CMFCEditBrowseCtrl e invalide su método OnBrowse. En ese método, implemente una acción de exploración personalizada y, opcionalmente, actualice el cuadro de texto del control de cuadro de búsqueda modificable. En la aplicación, use el método EnableBrowseButton para colocar el control de cuadro de búsqueda modificable en el modo de exploración personalizado.

CMFCEditBrowseCtrl::OnChangeLayout

Vuelve a dibujar el control de cuadro de búsqueda modificable actual.

virtual void OnChangeLayout();

Comentarios

El marco llama a este método cuando cambia el modo de exploración del control de cuadro de búsqueda modificable. Para obtener más información, consulte CMFCEditBrowseCtrl::GetMode.

CMFCEditBrowseCtrl::OnDrawBrowseButton

Lo llama el marco para dibujar el botón Examinar en el control de cuadro de búsqueda modificable.

virtual void OnDrawBrowseButton(
    CDC* pDC,
    CRect rect,
    BOOL bIsButtonPressed,
    BOOL bIsButtonHot);

Parámetros

pDC
Puntero a un contexto de dispositivo.

Rect
Establece el rectángulo delimitador del botón Examinar.

bIsButtonPressed
TRUE si el botón está presionado, de lo contrario, FALSE.

bIsButtonHot
TRUE si el botón está resaltado; de lo contrario, FALSE.

Comentarios

Invalide esta función en una clase derivada para personalizar la apariencia del botón Examinar.

CMFCEditBrowseCtrl::SetBrowseButtonImage

Establece una imagen personalizada en el botón Examinar del control de cuadro de búsqueda modificable.

void SetBrowseButtonImage(
    HICON hIcon,
    BOOL bAutoDestroy= TRUE);

void SetBrowseButtonImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy= TRUE);

void SetBrowseButtonImage(UINT uiBmpResId);

Parámetros

hIcon
Identificador de un icono.

hBitmap
Identificador de un mapa de bits.

uiBmpResId
El id. de recurso de un mapa de bits.

bAutoDestroy
TRUE para eliminar el icono o mapa de bits especificado cuando se sale de este método; de lo contrario, FALSE. El valor predeterminado es TRUE.

Comentarios

Use este método para aplicar una imagen personalizada al botón Examinar. De forma predeterminada, el marco obtiene una imagen estándar cuando el control de cuadro de búsqueda modificable está en modo examinar archivos o examinar carpetas.

CMFCEditBrowseCtrl::OnIllegalFileName

Lo llama el marco cuando se ingresa un nombre de archivo no válido en el control de edición.

virtual BOOL OnIllegalFileName(CString& strFileName);

Parámetros

strFileName
Especifica el nombre de archivo no válido.

Valor devuelto

Debe devolver FALSE si este nombre de archivo no se puede pasar más al cuadro de diálogo de archivo. En este caso, el enfoque se devuelve al control de edición y el usuario debe continuar editando. La implementación predeterminada muestra un cuadro de mensaje que indica al usuario el nombre de archivo no válido y devuelve FALSE. Puede invalidar este método, corregir el nombre de archivo y devolver TRUE para su posterior procesamiento.

Comentarios

Consulte también

Gráfico de jerarquías
Clases