Partilhar via


Classe CMFCToolBarEditBoxButton

Um botão de barra de ferramentas que contém um controle de edição (Classe CEdit).

Sintaxe

class CMFCToolBarEditBoxButton : public CMFCToolBarButton

Membros

Construtores públicos

Nome Descrição
CMFCToolBarEditBoxButton::CMFCToolBarEditBoxButton Constrói um objeto CMFCToolBarEditBoxButton.
CMFCToolBarEditBoxButton::~CMFCToolBarEditBoxButton Destruidor.

Métodos públicos

Nome Descrição
CMFCToolBarEditBoxButton::CanBeStretched Especifica se um usuário pode alongar o botão durante a personalização. (Substitui CMFCToolBarButton::CanBeStretched.)
CMFCToolBarEditBoxButton::CopyFrom Copia as propriedades de outro botão de barra de ferramentas para o botão atual. (Substitui CMFCToolBarButton::CopyFrom.)
CMFCToolBarEditBoxButton::CMFCToolBarEditBoxButton::CreateEdit Cria um controle de edição no botão.
CMFCToolBarEditBoxButton::CreateObject Usado pela estrutura para criar uma instância dinâmica desse tipo de classe.
CMFCToolBarEditBoxButton::GetByCmd Recupera o primeiro objeto CMFCToolBarEditBoxButton no aplicativo que tem a ID de comando especificada.
CMFCToolBarEditBoxButton::GetContentsAll Recupera o texto do primeiro controle de barra de ferramentas de caixa de edição que tem a ID de comando especificada.
CMFCToolBarEditBoxButton::GetContextMenuID Recupera a ID do recurso do menu de atalho associado ao botão.
CMFCToolBarEditBoxButton::GetEditBorder Recupera o retângulo delimitador da parte de edição do botão de caixa de edição.
CMFCToolBarEditBoxButton::CMFCToolBarEditBoxButton::GetEditBox Retorna um ponteiro para o controle de edição inserido no botão.
CMFCToolBarEditBoxButton::GetHwnd Recupera o identificador de janela associado ao botão de barra de ferramentas. (Substitui CMFCToolBarButton::GetHwnd.)
CMFCToolBarEditBoxButton::GetInvalidateRect Recupera a região da área de cliente do botão que deve ser redesenhada. (Substitui CMFCToolBarButton::GetInvalidateRect.)
CMFCToolBarEditBoxButton::GetThisClass Usado pela estrutura para obter um ponteiro para o objeto CRuntimeClass associado a esse tipo de classe.
CMFCToolBarEditBoxButton::HaveHotBorder Determina se uma borda do botão é exibida quando um usuário clica no botão. (Substitui CMFCToolBarButton::HaveHotBorder.)
CMFCToolBarEditBoxButton::IsFlatMode Determina se os botões de caixa de edição têm um estilo simples.
CMFCToolBarEditBoxButton::NotifyCommand Especifica se o botão processa a mensagem WM_COMMAND. (Substitui CMFCToolBarButton::NotifyCommand.)
CMFCToolBarEditBoxButton::OnAddToCustomizePage Chamado pela estrutura quando o botão é adicionado a uma caixa de diálogo Personalizar. (Substitui CMFCToolBarButton::OnAddToCustomizePage.)
CMFCToolBarEditBoxButton::OnCalculateSize Chamado pela estrutura para calcular o tamanho do botão para o contexto do dispositivo e o estado de encaixe especificados. (Substitui CMFCToolBarButton::OnCalculateSize.)
CMFCToolBarEditBoxButton::OnChangeParentWnd Chamado pela estrutura quando o botão é inserido em uma nova barra de ferramentas. (Substitui CMFCToolBarButton::OnChangeParentWnd.)
CMFCToolBarEditBoxButton::OnClick Chamado pela estrutura quando o usuário clica no botão do mouse. (Substitui CMFCToolBarButton::OnClick.)
CMFCToolBarEditBoxButton::OnCtlColor Chamado pela estrutura quando a barra de ferramentas pai manipula uma mensagem WM_CTLCOLOR. (Substitui CMFCToolBarButton::OnCtlColor.)
CMFCToolBarEditBoxButton::OnDraw Chamado pela estrutura para desenhar o botão usando os estilos e as opções especificados. (Substitui CMFCToolBarButton::OnDraw.)
CMFCToolBarEditBoxButton::OnDrawOnCustomizeList Chamado pela estrutura para desenhar o botão no painel Comandos da caixa de diálogo Personalizar. (Substitui CMFCToolBarButton::OnDrawOnCustomizeList.)
CMFCToolBarEditBoxButton::OnGlobalFontsChanged Chamado pela estrutura quando a fonte global foi alterada. (Substitui CMFCToolBarButton::OnGlobalFontsChanged.)
CMFCToolBarEditBoxButton::OnMove Chamado pela estrutura quando a barra de ferramentas pai se move. (Substitui CMFCToolBarButton::OnMove.)
CMFCToolBarEditBoxButton::OnShow Chamado pela estrutura quando o botão se torna visível ou invisível. (Substitui CMFCToolBarButton::OnShow.)
CMFCToolBarEditBoxButton::OnSize Chamado pela estrutura quando a barra de ferramentas pai muda de tamanho ou posição e essa alteração faz com que o botão mude de tamanho. (Substitui CMFCToolBarButton::OnSize.)
CMFCToolBarEditBoxButton::OnUpdateToolTip Chamado pela estrutura quando a barra de ferramentas pai atualiza o texto da dica de ferramenta. (Substitui CMFCToolBarButton::OnUpdateToolTip.)
CMFCToolBarEditBoxButton::Serialize Lê esse objeto de um arquivo morto ou grava-o em um arquivo morto. (Substitui CMFCToolBarButton::Serialize.)
CMFCToolBarEditBoxButton::SetACCData Preenche o objeto CAccessibilityData fornecido com os dados de acessibilidade do botão de barra de ferramentas. (Substitui CMFCToolBarButton::SetACCData.)
CMFCToolBarEditBoxButton::CMFCToolBarEditBoxButton::SetContents Define o texto no controle de edição do botão.
CMFCToolBarEditBoxButton::CMFCToolBarEditBoxButton::SetContentsAll Localiza o botão de controle de edição que tem uma ID de comando especificada e define o texto no controle de edição desse botão.
CMFCToolBarEditBoxButton::SetContextMenuID Especifica a ID do recurso do menu de atalho associado ao botão.
CMFCToolBarEditBoxButton::SetFlatMode Especifica a aparência de estilo simples dos botões de caixa de edição no aplicativo.
CMFCToolBarEditBoxButton::CMFCToolBarEditBoxButton::SetStyle Especifica o estilo do botão. (Substitui CMFCToolBarButton::SetStyle.)

Comentários

Para adicionar um botão de caixa de edição a uma barra de ferramentas, siga estas etapas:

  1. Reserve uma ID do recurso fictícia para o botão no recurso da barra de ferramentas pai.

  2. Construir um objeto CMFCToolBarEditBoxButton.

  3. No manipulador de mensagens que processa a mensagem AFX_WM_RESETTOOLBAR, substitua o botão fictício pelo novo botão de caixa de combinação usando CMFCToolBar::ReplaceButton.

Para saber mais, confira Passo a passo: colocando controles em barras de ferramentas.

Exemplo

O exemplo a seguir demonstra como usar vários métodos na classe CMFCToolBarEditBoxButton. O exemplo mostra como especificar que um usuário pode alongar o botão durante a personalização, especificar que uma borda do botão é exibida quando um usuário clica no botão, definir o texto no controle de caixa de texto, especificar a aparência de estilo simples dos botões de caixa de edição no aplicativo e especificar o estilo de um controle de caixa de edição da barra de ferramentas.

CMFCToolBarEditBoxButton *boxButton = new CMFCToolBarEditBoxButton();
boxButton->CanBeStretched();
boxButton->HaveHotBorder();
boxButton->SetContents(_T("edit box button"));
boxButton->SetFlatMode(true);
boxButton->SetStyle(TBBS_PRESSED);

Hierarquia de herança

CObject

CMFCToolBarButton

CMFCToolBarEditBoxButton

Requisitos

Cabeçalho: afxtoolbareditboxbutton.h

CMFCToolBarEditBoxButton::CanBeStretched

Especifica se um usuário pode alongar o botão durante a personalização.

virtual BOOL CanBeStretched() const;

Valor de retorno

Esse método retorna TRUE.

Comentários

Por padrão, a estrutura não permite que o usuário alongue um botão de barra de ferramentas durante a personalização. Esse método estende a implementação da classe base (CMFCToolBarButton::CanBeStretched), permitindo que o usuário alongue um botão de barra de ferramentas de caixa de edição durante a personalização.

CMFCToolBarEditBoxButton::CMFCToolBarEditBoxButton

Constrói um objeto CMFCToolBarEditBoxButton.

CMFCToolBarEditBoxButton(
    UINT uiID,
    int iImage,
    DWORD dwStyle=ES_AUTOHSCROLL,
    int iWidth=0);

Parâmetros

uiID
[in] Especifica a ID do controle.

iImage
[in] Especifica o índice baseado em zero de uma imagem da barra de ferramentas. A imagem está localizada no objeto Classe CMFCToolBarImages que a classe CMFCToolBar mantém.

dwStyle
[in] Especifica o estilo de controle de edição.

iWidth
[in] Especifica a largura em pixels do controle de edição.

Comentários

O construtor padrão define o estilo de controle de edição para a seguinte combinação:

WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL

A largura padrão do controle é de 150 pixels.

CMFCToolBarEditBoxButton::CopyFrom

Copia as propriedades de outro botão de barra de ferramentas para o botão atual.

virtual void CopyFrom(const CMFCToolBarButton& src);

Parâmetros

src
[in] Uma referência ao botão de origem do qual copiar.

Comentários

Chame esse método para copiar outro botão de barra de ferramentas para este botão de barra de ferramentas. src deve ser do tipo CMFCToolBarEditBoxButton.

CMFCToolBarEditBoxButton::CreateEdit

Cria um controle de edição no botão.

virtual CEdit* CreateEdit(
    CWnd* pWndParent,
    const CRect& rect);

Parâmetros

pWndParent
[in] Especifica a janela pai do controle de edição. Não pode ser NULL.

rect
[in] Especifica o tamanho e a posição do controle de edição.

Valor de retorno

Um ponteiro para o controle de edição que acaba de ser criado; ele será NULL se a criação e o anexo do controle falharem.

Comentários

Um objeto CMFCToolBarEditBoxButton é construído em duas etapas. Primeiro chame o construtor, então chame CreateEdit, o que cria o controle de edição do Windows e o anexa ao objeto CMFCToolBarEditBoxButton.

CMFCToolBarEditBoxButton::GetByCmd

Recupera o primeiro objeto CMFCToolBarEditBoxButton no aplicativo que tem a ID de comando especificada.

static CMFCToolBarEditBoxButton* __stdcall GetByCmd(UINT uiCmd);

Parâmetros

uiCmd
[in] A ID de comando do botão a ser recuperado.

Valor de retorno

O primeiro objeto CMFCToolBarEditBoxButton no aplicativo que tem a ID de comando especificada ou NULL se nenhum objeto desse tipo existir.

Comentários

Esse método utilitário compartilhado é usado por métodos como CMFCToolBarEditBoxButton::SetContentsAll e CMFCToolBarEditBoxButton::GetContentsAll para definir ou obter o texto do primeiro controle de barra de ferramentas de caixa de edição que tem a ID de comando especificada.

CMFCToolBarEditBoxButton::GetContentsAll

Recupera o texto do primeiro controle de barra de ferramentas de caixa de edição que tem a ID de comando especificada.

static CString __stdcall GetContentsAll(UINT uiCmd);

Parâmetros

uiCmd
[in] A ID de comando do botão do qual recuperar conteúdo.

Valor de retorno

Um objeto CString que contém o texto do primeiro controle de barra de ferramentas da caixa de edição que tem a ID de comando especificada.

Comentários

Esse método retornará a cadeia de caracteres vazia se nenhum objeto CMFCToolBarEditBoxButton tiver a ID de comando especificada.

CMFCToolBarEditBoxButton::GetContextMenuID

Recupera a ID do recurso do menu de atalho associado ao botão.

UINT GetContextMenuID();

Valor de retorno

A ID do recurso do menu de atalho associado ao botão ou 0 se o botão não tiver nenhum menu de atalho associado.

Comentários

A estrutura usa a ID do recurso para criar o menu de atalho quando o usuário clica com o botão direito do mouse no botão.

CMFCToolBarEditBoxButton::GetEditBorder

Recupera o retângulo delimitador da parte de edição do botão de caixa de edição.

virtual void GetEditBorder(CRect& rectBorder);

Parâmetros

rectBorder
[out] Uma referência ao objeto CRect que recebe o retângulo delimitador.

Comentários

Esse método recupera o retângulo delimitador do controle de edição nas coordenadas do cliente. Ele expande o tamanho do retângulo em cada direção em um pixel.

O método CMFCVisualManager::OnDrawEditBorder chama esse método quando desenha a borda em torno de um objeto CMFCToolBarEditBoxButton.

CMFCToolBarEditBoxButton::GetEditBox

Retorna um ponteiro para o controle Classe CEdit inserido no botão.

CEdit* GetEditBox() const;

Valor de retorno

Um ponteiro para o controle Classe CEdit que o botão contém. Ele será NULL se o controle CEdit ainda não tiver sido criado.

Comentários

Crie o controle CEdit chamando CMFCToolBarEditBoxButton::CreateEdit.

CMFCToolBarEditBoxButton::GetHwnd

Recupera o identificador de janela associado ao botão de barra de ferramentas.

virtual HWND GetHwnd();

Valor de retorno

O identificador de janela associado ao botão.

Comentários

Esse método substitui o método CMFCToolBarButton::GetHwnd retornando o identificador da janela da parte de controle de edição do botão de caixa de edição.

CMFCToolBarEditBoxButton::GetInvalidateRect

Recupera a região da área de cliente do botão que deve ser redesenhada.

virtual const CRect GetInvalidateRect() const;

Valor de retorno

Um objeto CRect que especifica a região que deve ser redesenhada.

Comentários

Esse método estende a implementação da classe base, CMFCToolBarButton::GetInvalidateRect, incluindo na região a área do rótulo de texto.

CMFCToolBarEditBoxButton::HaveHotBorder

Determina se uma borda do botão é exibida quando um usuário clica no botão.

virtual BOOL HaveHotBorder() const;

Valor de retorno

Um valor diferente de zero, se um botão exibir a borda quando selecionado. Caso contrário, 0.

Comentários

Esse método estende a implementação da classe base, CMFCToolBarButton::HaveHotBorder, retornando um valor diferente de zero se o controle está visível.

CMFCToolBarEditBoxButton::IsFlatMode

Determina se os botões de caixa de edição têm um estilo simples.

static BOOL __stdcall IsFlatMode();

Valor de retorno

Diferente de zero se os botões tiverem um estilo simples; caso contrário, 0.

Comentários

Por padrão, os botões de caixa de edição têm um estilo simples. Use o método CMFCToolBarEditBoxButton::SetFlatMode para alterar a aparência de estilo simples para seu aplicativo.

CMFCToolBarEditBoxButton::NotifyCommand

Especifica se o botão processa a mensagem WM_COMMAND.

virtual BOOL NotifyCommand(int iNotifyCode);

Parâmetros

iNotifyCode
[in] A mensagem de notificação associada ao comando.

Valor de retorno

TRUE se o botão processar a mensagem WM_COMMAND ou FALSE para indicar que a mensagem deve ser manipulada pela barra de ferramentas pai.

Comentários

A estrutura chama esse método quando está prestes a enviar uma mensagem WM_COMMAND para a janela pai.

Esse método estende a implementação da classe base (CMFCToolBarButton::NotifyCommand) processando a notificação EN_UPDATE. Para cada caixa de edição com a mesma ID de comando que este objeto, define o rótulo de texto como o rótulo de texto desse objeto.

CMFCToolBarEditBoxButton::OnAddToCustomizePage

Chamado pela estrutura quando o botão é adicionado a uma caixa de diálogo Personalizar.

virtual void OnAddToCustomizePage();

Comentários

Esse método estende a implementação da classe base (CMFCToolBarButton::OnAddToCustomizePage) copiando as propriedades do controle de caixa de edição em qualquer barra de ferramentas que tenha a mesma ID de comando que este objeto. Esse método não fará nada se nenhuma barra de ferramentas tiver um controle de caixa de edição que tenha a mesma ID de comando que este objeto.

Para mais informações sobre a caixa de diálogo Personalizar, confira Classe CMFCToolBarsCustomizeDialog.

CMFCToolBarEditBoxButton::OnChangeParentWnd

Chamado pela estrutura quando o botão é inserido em uma nova barra de ferramentas.

virtual void OnChangeParentWnd(CWnd* pWndParent);

Parâmetros

pWndParent
[in] Um ponteiro para a nova janela pai.

Comentários

Esse método substitui a implementação da classe base (CMFCToolBarButton::OnChangeParentWnd) recriando o objeto CEdit interno.

CMFCToolBarEditBoxButton::OnClick

Chamado pela estrutura quando o usuário clica no botão do mouse.

virtual BOOL OnClick(
    CWnd* pWnd,
    BOOL bDelay = TRUE);

Parâmetros

pWnd
[in] Não é usado.

bDelay
[in] Não é usado.

Valor de retorno

Um valor diferente de zero, se o botão processar a mensagem de clique. Caso contrário, 0.

Comentários

Esse método substitui a implementação da classe base (CMFCToolBarButton::OnClick) retornando um valor diferente de zero se o objeto CEdit interno está visível.

CMFCToolBarEditBoxButton::OnCtlColor

Chamado pela estrutura quando a barra de ferramentas pai manipula uma mensagem WM_CTLCOLOR.

virtual HBRUSH OnCtlColor(
    CDC* pDC,
    UINT nCtlColor);

Parâmetros

pDC
[in] O contexto do dispositivo que exibe o botão.

nCtlColor
[in] Não é usado.

Valor de retorno

Um identificador para o pincel de janela global.

Comentários

Esse método substitui a implementação da classe base (CMFCToolBarButton::OnCtlColor) definindo as cores de texto e tela de fundo do contexto do dispositivo fornecido para as cores globais de texto e tela de fundo, respectivamente.

Para mais informações sobre opções globais disponíveis para seu aplicativo, confira Estrutura AFX_GLOBAL_DATA.

CMFCToolBarEditBoxButton::OnGlobalFontsChanged

Chamado pela estrutura quando a fonte global foi alterada.

virtual void OnGlobalFontsChanged();

Comentários

Esse método estende a implementação da classe base (CMFCToolBarButton::OnGlobalFontsChanged) alterando a fonte do controle para aquela da fonte global.

Para mais informações sobre opções globais disponíveis para seu aplicativo, confira Estrutura AFX_GLOBAL_DATA.

CMFCToolBarEditBoxButton::OnMove

Chamado pela estrutura quando a barra de ferramentas pai se move.

virtual void OnMove();

Comentários

Esse método substitui a implementação de classe padrão (CMFCToolBarButton::OnMove) atualizando a posição do objeto CEdit interno

CMFCToolBarEditBoxButton::OnShow

Chamado pela estrutura quando o botão se torna visível ou invisível.

virtual void OnShow(BOOL bShow);

Parâmetros

bShow
[in] Especifica se o botão está visível. Se esse parâmetro for TRUE, o botão ficará visível. Caso contrário, o botão não ficará visível.

Comentários

Esse método estende a implementação da classe base (CMFCToolBarButton::OnShow) exibindo o botão se bShow é TRUE. Caso contrário, esse método oculta o botão.

CMFCToolBarEditBoxButton::OnSize

Chamado pela estrutura quando a barra de ferramentas pai muda de tamanho ou posição e essa alteração faz com que o botão mude de tamanho.

virtual void OnSize(int iSize);

Parâmetros

iSize
[in] A nova largura do botão, em pixels.

Comentários

Esse método substitui a implementação de classe padrão, CMFCToolBarButton::OnSize, atualizando o tamanho e a posição do objeto CEdit interno.

CMFCToolBarEditBoxButton::OnUpdateToolTip

Chamado pela estrutura quando a barra de ferramentas pai atualiza o texto da dica de ferramenta.

virtual BOOL OnUpdateToolTip(
    CWnd* pWndParent,
    int iButtonIndex,
    CToolTipCtrl& wndToolTip,
    CString& str);

Parâmetros

pWndParent
[in] Não é usado.

iButtonIndex
[in] Não é usado.

wndToolTip
[in] O controle que exibe o texto da dica de ferramenta.

str
[out] Um objeto CString que recebe o texto da dica de ferramenta atualizado.

Valor de retorno

Um valor diferente de zero, se o método atualizar o texto de dica de ferramenta. Caso contrário, 0.

Comentários

Esse método estende a implementação da classe base (CMFCToolBarButton::OnUpdateToolTip) exibindo o texto da dica de ferramenta associado à parte de edição do botão. Se o objeto interno CEdit for NULL ou o identificador de janela do objeto CEdit não identificar uma janela existente, esse método não fará nada e retornará FALSE.

CMFCToolBarEditBoxButton::SetContents

Define o texto no controle da caixa de texto.

virtual void SetContents(const CString& sContents);

Parâmetros

sContents
[in] Especifica o novo texto a ser definido.

CMFCToolBarEditBoxButton::SetContentsAll

Localiza um objeto CMFCToolBarEditBoxButton que tem uma ID de comando especificada e define o texto especificado dentro de sua caixa de texto.

static BOOL SetContentsAll(
    UINT uiCmd,
    const CString& strContents);

Parâmetros

uiCmd
[in] Especifica a ID de comando do controle para o qual o texto será alterado.

strContents
[in] Especifica o novo texto a ser definido.

Valor de retorno

Não zero se o texto tiver sido definido; 0 se o controle CMFCToolBarEditBoxButton com a ID de comando especificada não existir.

CMFCToolBarEditBoxButton::SetContextMenuID

Especifica a ID do recurso do menu de atalho associado ao botão.

void SetContextMenuID(UINT uiResID);

Parâmetros

uiCmd
[in] A ID do recurso do menu de atalho.

Comentários

A estrutura usa a ID do recurso para criar o menu de atalho quando o usuário clica com o botão direito do mouse no botão de barra de ferramentas.

CMFCToolBarEditBoxButton::SetFlatMode

Especifica a aparência de estilo simples dos botões de caixa de edição no aplicativo.

static void __stdcall SetFlatMode(BOOL bFlat = TRUE);

Parâmetros

bFlat
[in] O estilo simples para botões de caixa de edição. Se esse parâmetro for TRUE, a aparência de estilo simples estará habilitada; caso contrário, a aparência de estilo simples estará desabilitada.

Comentários

O estilo simples padrão para botões de caixa de edição é TRUE. Use o método CMFCToolBarEditBoxButton::IsFlatMode para recuperar a aparência de estilo simples para seu aplicativo.

CMFCToolBarEditBoxButton::SetStyle

Especifica o estilo de um controle de caixa de edição da barra de ferramentas.

virtual void SetStyle(UINT nStyle);

Parâmetros

nEstilo
[in] Um novo estilo a ser definido.

Comentários

Esse método define CMFCToolBarButton::m_nStyle como nStyle Ele também desabilita a caixa de texto quando o aplicativo está no modo Personalizar e o habilita quando o aplicativo não está no modo Personalizar (confira CMFCToolBar::SetCustomizeMode e CMFCToolBar::IsCustomizeMode). Confira Estilos de Controle de Barra de Ferramentas para obter uma lista de sinalizadores de estilo válidos.

Confira também

Gráfico da hierarquia
Classes
Classe CMFCToolBarButton
Classe CEdit
CMFCToolBar::ReplaceButton
Instruções passo a passo: colocando controles em barras de ferramentas