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:
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.Inserte el objeto
CMFCEditBrowseCtrl
o el objeto de control de cuadro de búsqueda modificable derivado en el objeto de ventana principal.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 deCEdit
aCMFCEditBrowseCtrl
. El control de cuadro de búsqueda modificable se creará automáticamente. Si no usa el Asistente para clases, agregue una variableCMFCEditBrowseCtrl
al archivo de encabezado y, a continuación, llame a su métodoCreate
.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.
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.
Para proporcionar una imagen personalizada del botón Examinar, llame al método SetBrowseButtonImage o invalide el método OnDrawBrowseButton.
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
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.