Partilhar via


Classe CMFCEditBrowseCtrl

A CMFCEditBrowseCtrl classe suporta o controle edit browse (editar navegação), que é uma caixa de texto editável que opcionalmente contém um botão procurar. Quando o usuário clica no botão Procurar, o controle executa uma ação personalizada ou exibe uma caixa de diálogo padrão que contém um navegador de arquivos ou um navegador de pastas.

Sintaxe

class CMFCEditBrowseCtrl : public CEdit

Membros

Construtores Públicos

Nome Descrição
CMFCEditBrowseCtrl::CMFCEditBrowseCtrl Construtor padrão.
CMFCEditBrowseCtrl::~CMFCEditBrowseCtrl Destruidor.

Métodos Públicos

Nome Descrição
CMFCEditBrowseCtrl::EnableBrowseButton Ativa ou desativa (oculta) o botão de navegação.
CMFCEditBrowseCtrl::EnableFileBrowseButton Ativa o botão Procurar e coloca o controle de pesquisa de edição no modo de pesquisa de arquivos .
CMFCEditBrowseCtrl::EnableFolderBrowseButton Habilita o botão Procurar e coloca o controle de pesquisa de edição no modo de navegação de pasta .
CMFCEditBrowseCtrl::GetMode Retorna o modo de navegação atual.
CMFCEditBrowseCtrl::OnAfterUpdate Chamado pela estrutura depois que o controle edit browse é atualizado com o resultado de uma ação de navegação.
CMFCEditBrowseCtrl::OnBrowse Chamado pela estrutura depois que o usuário clica no botão procurar.
CMFCEditBrowseCtrl::OnChangeLayout Redesenha o controle de navegação de edição atual.
CMFCEditBrowseCtrl::OnDrawBrowseButton Chamado pela estrutura para desenhar o botão procurar.
CMFCEditBrowseCtrl::OnIllegalFileName Chamado pela estrutura quando um nome de arquivo ilegal foi inserido no controle de edição.
CMFCEditBrowseCtrl::PreTranslateMessage Traduz mensagens de janela antes de serem enviadas para as funções TranslateMessage e DispatchMessage do Windows. Para obter sintaxe e mais informações, consulte CWnd::P reTranslateMessage.
CMFCEditBrowseCtrl::SetBrowseButtonImage Define uma imagem personalizada para o botão Procurar.

Observações

Use um controle de navegação de edição para selecionar um nome de arquivo ou pasta. Opcionalmente, use o controle para executar uma ação personalizada, como exibir uma caixa de diálogo. Você pode exibir ou não exibir o botão de navegação e pode aplicar um rótulo ou imagem personalizada no botão.

O modo de navegação do controle de pesquisa de edição determina se ele exibe um botão de navegação e qual ação ocorre quando o botão é clicado. Para obter mais informações, consulte o método GetMode .

A CMFCEditBrowseCtrl classe suporta os seguintes modos.

  • modo personalizado

    Uma ação personalizada é executada quando o usuário clica no botão Procurar. Por exemplo, você pode exibir uma caixa de diálogo específica do aplicativo.

  • modo de arquivo

    Uma caixa de diálogo de seleção de arquivo padrão é exibida quando o usuário clica no botão Procurar.

  • modo de pasta

    Uma caixa de diálogo de seleção de pasta padrão é exibida quando o usuário clica no botão Procurar.

Como fazer: Especificar um controle Edit Browse

Execute as seguintes etapas para incorporar um controle de pesquisa de edição em seu aplicativo:

  1. Se você quiser implementar um modo de navegação personalizado, derive sua própria classe da classe e, em seguida, substitua CMFCEditBrowseCtrl o método CMFCEditBrowseCtrl::OnBrowse . No método substituído, execute uma ação de navegação personalizada e atualize o controle de navegação de edição com o resultado.

  2. Incorpore o CMFCEditBrowseCtrl objeto ou o objeto de controle edit browse derivado no objeto de janela pai.

  3. Se você usar o Assistente de classe para criar uma caixa de diálogo, adicione um controle de edição (CEdit) ao formulário da caixa de diálogo. Além disso, adicione uma variável para acessar o controle em seu arquivo de cabeçalho. No arquivo de cabeçalho, altere o tipo da variável de CEdit para CMFCEditBrowseCtrl. O controle de navegação de edição será criado automaticamente. Se você não usar o Assistente de classe, adicione uma CMFCEditBrowseCtrl variável ao arquivo de cabeçalho e, em seguida, chame seu Create método.

  4. Se você adicionar um controle de navegação de edição a uma caixa de diálogo, use a ferramenta ClassWizard para configurar a troca de dados.

  5. Chame o método EnableFolderBrowseButton, EnableFileBrowseButton ou EnableBrowseButton para definir o modo de navegação e exibir o botão de navegação. Chame o método GetMode para obter o modo de navegação atual.

  6. Para fornecer uma imagem personalizada para o botão Procurar, chame o método SetBrowseButtonImage ou substitua o método OnDrawBrowseButton .

  7. Para remover o botão Procurar do controle de navegação de edição, chame o método EnableBrowseButton com o parâmetro bEnable definido como FALSE.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CEdit

CMFCEditBrowseCtrl

Exemplo

O exemplo a CMFCEditBrowseCtrl seguir demonstra como usar dois métodos na classe: EnableFolderBrowseButton e EnableFileBrowseButton. Este exemplo faz parte do exemplo New Controls.

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();

Requerimentos

Cabeçalho: afxeditbrowsectrl.h

CMFCEditBrowseCtrl::EnableBrowseButton

Exibe ou não exibe o botão Procurar no controle de navegação de edição atual.

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

Parâmetros

bAtivar
TRUE para exibir o botão de navegação; FALSO para não exibir o botão de navegação. O valor padrão é TRUE.

szLabel
O rótulo exibido no botão Procurar. O valor padrão é " ...".

Observações

Se o parâmetro bEnable for TRUE, implemente uma ação personalizada para executar quando o botão Procurar for clicado. Para implementar uma ação personalizada, derive uma classe da classe e, em seguida, substitua CMFCEditBrowseCtrl seu método OnBrowse .

Se o parâmetro bEnable for TRUE, o modo de navegação do controle será BrowseMode_Default; caso contrário, o modo de navegação será BrowseMode_None. Para obter mais informações sobre modos de navegação, consulte o método GetMode .

CMFCEditBrowseCtrl::EnableFileBrowseButton

Exibe o botão Procurar no controle de pesquisa de edição atual e coloca o controle no modo de navegação de arquivo .

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

Parâmetros

lpszDefExt
Especifica a extensão de nome de arquivo padrão usada na caixa de diálogo de seleção de arquivo. O valor padrão é NULL.

lpszFilter
Especifica a cadeia de caracteres de filtro padrão usada na caixa de diálogo de seleção de arquivo. O valor padrão é NULL.

dwBandeiras
Sinalizadores de caixa de diálogo. O valor padrão é uma combinação bit a bit (OR) de OFN_HIDEREADONLY e OFN_OVERWRITEPROMPT.

Observações

Quando o controle de pesquisa de edição está no modo de navegação de arquivo e o usuário clica no botão procurar, o controle exibe a caixa de diálogo de seleção de arquivo padrão.

Para obter uma lista completa dos sinalizadores disponíveis, consulte OPENFILENAME structure.

CMFCEditBrowseCtrl::EnableFolderBrowseButton

Exibe o botão Procurar no controle de pesquisa de edição atual e coloca o controle no modo de navegação de pasta .

void EnableFolderBrowseButton();

Observações

Quando o controle edit browse está no modo de navegação de pasta e o usuário clica no botão procurar, o controle exibe a caixa de diálogo de seleção de pasta padrão.

CMFCEditBrowseCtrl::GetMode

Recupera o modo de navegação do controle de navegação de edição atual.

CMFCEditBrowseCtrl::BrowseMode GetMode() const;

Valor de retorno

Um dos valores de enumeração que especifica o modo atual do controle de navegação de edição. O modo de navegação determina se a estrutura exibe o botão Procurar e qual ação ocorre quando um usuário clica nesse botão.

A tabela a seguir lista os valores de retorno possíveis.

Valor Descrição
BrowseMode_Default modo personalizado. Uma ação definida pelo programador é executada.
BrowseMode_File modo de arquivo. A caixa de diálogo padrão do navegador de arquivos é exibida.
BrowseMode_Folder modo de pasta. A caixa de diálogo padrão do navegador de pastas é exibida.
BrowseMode_None O botão Procurar não é exibido.

Observações

Por padrão, um CMFCEditBrowseCtrl objeto é inicializado no BrowseMode_None modo. Modifique o modo de navegação com os métodos CMFCEditBrowseCtrl::EnableBrowseButton, CMFCEditBrowseCtrl::EnableFileBrowseButton e CMFCEditBrowseCtrl::EnableFolderBrowseButton .

CMFCEditBrowseCtrl::OnAfterUpdate

Chamado pela estrutura depois que o controle edit browse é atualizado com o resultado de uma ação de navegação.

virtual void OnAfterUpdate();

Observações

Substitua esse método em uma classe derivada para implementar uma ação personalizada.

CMFCEditBrowseCtrl::OnBrowse

Chamado pela estrutura depois que o usuário clica no botão Procurar do controle de navegação de edição.

virtual void OnBrowse();

Observações

Use esse método para executar código personalizado quando o usuário clica no botão Procurar do controle de navegação de edição. Derive sua própria classe da classe e substitua CMFCEditBrowseCtrl seu OnBrowse método. Nesse método, implemente uma ação de navegação personalizada e, opcionalmente, atualize a caixa de texto do controle de navegação de edição. Em seu aplicativo, use o método EnableBrowseButton para colocar o controle edit browse no modo de navegação personalizado .

CMFCEditBrowseCtrl::OnChangeLayout

Redesenha o controle de navegação de edição atual.

virtual void OnChangeLayout();

Observações

A estrutura chama esse método quando o modo de navegação do controle de navegação de edição é alterado. Para obter mais informações, consulte CMFCEditBrowseCtrl::GetMode.

CMFCEditBrowseCtrl::OnDrawBrowseButton

Chamado pela estrutura para desenhar o botão de navegação no controle de navegação de edição.

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

Parâmetros

pDC
Um ponteiro para um contexto de dispositivo.

Rect
O retângulo delimitador do botão de navegação.

bIsButtonPressionado
TRUE se o botão for pressionado; caso contrário, FALSE.

bIsButtonHot
TRUE se o botão estiver realçado; caso contrário, FALSE.

Observações

Substitua essa função em uma classe derivada para personalizar a aparência do botão Procurar.

CMFCEditBrowseCtrl::SetBrowseButtonImage

Define uma imagem personalizada no botão Procurar do controle de navegação de edição.

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

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

void SetBrowseButtonImage(UINT uiBmpResId);

Parâmetros

hIcon
A alça de um ícone.

hBitmap
O identificador de um bitmap.

uiBmpResId
A ID do recurso de um bitmap.

bAutoDestruição
TRUE para excluir o ícone ou bitmap especificado quando esse método é encerrado; caso contrário, FALSE. O valor padrão é TRUE.

Observações

Use esse método para aplicar uma imagem personalizada ao botão Procurar. Por padrão, a estrutura obtém uma imagem padrão quando o controle de pesquisa de edição está no modo de pesquisa de arquivos ou de pastas .

CMFCEditBrowseCtrl::OnIllegalFileName

Chamado pela estrutura quando um nome de arquivo ilegal foi inserido no controle de edição.

virtual BOOL OnIllegalFileName(CString& strFileName);

Parâmetros

strFileName
Especifica o nome do arquivo ilegal.

Valor de retorno

Deve retornar FALSE se esse nome de arquivo não puder ser passado mais para a caixa de diálogo do arquivo. Nesse caso, o foco é definido de volta para o controle de edição e o usuário deve continuar editando. A implementação padrão exibe uma caixa de mensagem informando o usuário sobre o nome do arquivo ilegal e retorna FALSE. Você pode substituir esse método, corrigir o nome do arquivo e retornar TRUE para processamento posterior.

Observações

Ver também

Gráfico de Hierarquia
Aulas