Classe CMFCToolBarsCustomizeDialog

Uma caixa de diálogo de guia sem janela restrita (Classe CPropertySheet) que permite que o usuário personalize as barras de ferramentas, os menus, os atalhos, as ferramentas definidas pelo usuário e o estilo do visual em um aplicativo. Normalmente, o usuário acessa essa caixa de diálogo selecionando Personalizar no menu Ferramentas.

A caixa de diálogo Personalizar tem seis guias: Comandos, Barras de Ferramentas, Ferramentas, Teclado, Menu e Opções.

Sintaxe

class CMFCToolBarsCustomizeDialog : public CPropertySheet

Membros

Construtores públicos

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

Métodos públicos

Nome Descrição
CMFCToolBarsCustomizeDialog::AddButton Insere um botão de barra de ferramentas na lista de comandos na página Comandos
CMFCToolBarsCustomizeDialog::AddMenu Carrega um menu dos recursos e chama CMFCToolBarsCustomizeDialog::AddMenuCommands para adicionar esse menu à lista de comandos na página Comandos.
CMFCToolBarsCustomizeDialog::AddMenuCommands Carrega um menu dos recursos e chama CMFCToolBarsCustomizeDialog::AddMenuCommands para adicionar esse menu à lista de comandos na página Comandos.
CMFCToolBarsCustomizeDialog::AddToolBar Carrega uma barra de ferramentas a partir dos recursos. Em seguida, para cada comando no menu, chama o método CMFCToolBarsCustomizeDialog::AddButton para inserir um botão na lista de comandos na página Comandos da categoria especificada.
CMFCToolBarsCustomizeDialog::Create Exibe a caixa de diálogo Personalização.
CMFCToolBarsCustomizeDialog::EnableTools Reservado para uso futuro.
CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars Habilita ou desabilita a criação de novas barras de ferramentas, usando a caixa de diálogo Personalizar.
CMFCToolBarsCustomizeDialog::FillAllCommandsList Preenche o objeto CListBox fornecido com os comandos na categoria Todos os Comandos.
CMFCToolBarsCustomizeDialog::FillCategoriesComboBox Preenche o objeto CComboBox fornecido com o nome de cada categoria de comando na caixa de diálogo Personalizar.
CMFCToolBarsCustomizeDialog::FillCategoriesListBox Preenche o objeto CListBox fornecido com o nome de cada categoria de comando na caixa de diálogo Personalizar.
CMFCToolBarsCustomizeDialog::GetCommandName Recupera o nome associado à ID de comando especificada.
CMFCToolBarsCustomizeDialog::GetCountInCategory Recupera o número de itens na lista fornecida que têm determinado rótulo de texto.
CMFCToolBarsCustomizeDialog::GetFlags Recupera o conjunto de sinalizadores que afetam o comportamento da caixa de diálogo.
CMFCToolBarsCustomizeDialog::GetThisClass Usado pela estrutura para obter um ponteiro para o objeto CRuntimeClass associado a esse tipo de classe.
CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage Inicia um editor de imagens para que um usuário possa personalizar um botão de barra de ferramentas ou ícone de item de menu.
CMFCToolBarsCustomizeDialog::OnInitDialog Substitui a inicialização da folha de propriedades aumentada. (Substitui CPropertySheet::OnInitDialog.)
CMFCToolBarsCustomizeDialog::PostNcDestroy Chamado pela estrutura após a janela ter sido destruída. (Substitui CPropertySheet::PostNcDestroy.)
CMFCToolBarsCustomizeDialog::RemoveButton Remove o botão com a ID de comando especificada da categoria especificada ou de todas as categorias.
CMFCToolBarsCustomizeDialog::RenameCategory Renomeia uma categoria na caixa de listagem de categorias na guia Comandos.
CMFCToolBarsCustomizeDialog::ReplaceButton Substitui um botão na lista de comandos na guia Comandos por um novo objeto do botão de barra de ferramentas.
CMFCToolBarsCustomizeDialog::SetUserCategory Adiciona uma categoria à lista de categorias que serão exibidas na guia Comandos.

Métodos protegidos

Nome Descrição
CMFCToolBarsCustomizeDialog::CheckToolsValidity Chamado pela estrutura para determinar se a lista de ferramentas definidas pelo usuário é válida.
CMFCToolBarsCustomizeDialog::OnAfterChangeTool Chamado pela estrutura quando as propriedades de uma ferramenta definida pelo usuário são alteradas.
CMFCToolBarsCustomizeDialog::OnAssignKey Determina se um atalho especificado pode ser atribuído a uma ação.
CMFCToolBarsCustomizeDialog::OnBeforeChangeTool Determina se uma ferramenta definida pelo usuário pode ser alterada.
CMFCToolBarsCustomizeDialog::OnInitToolsPage Chamado pela estrutura quando o usuário escolhe a guia Ferramentas que será solicitada.

Comentários

Para exibir a caixa de diálogo Personalizar, crie um objeto CMFCToolBarsCustomizeDialog e chame o método CMFCToolBarsCustomizeDialog::Create.

Embora a caixa de diálogo Personalizar esteja ativa, o aplicativo funciona em um modo especial que limita o usuário a tarefas de personalização.

Exemplo

O exemplo a seguir demonstra como usar vários métodos na classe CMFCToolBarsCustomizeDialog. O exemplo mostra como substituir um botão de barra de ferramentas na caixa de listagem de comandos na página Comandos, habilitar a criação de novas barras de ferramentas usando a caixa de diálogo Personalizar e exibir a caixa de diálogo Personalização. Este snippet de código faz parte do exemplo de demonstração do IE.

pDlgCust->ReplaceButton(ID_FAVORITS_DUMMY,
                        CMFCToolBarMenuButton((UINT)-1, menuFavorites, -1, strFavorites));
pDlgCust->EnableUserDefinedToolbars();
pDlgCust->Create();

Hierarquia de herança

CObject

CCmdTarget

CWnd

CPropertySheet

CMFCToolBarsCustomizeDialog

Requisitos

Cabeçalho: afxToolBarsCustomizeDialog.h

CMFCToolBarsCustomizeDialog::AddButton

Insere um botão de barra de ferramentas na lista de comandos na página Comandos.

void AddButton(
    UINT uiCategoryId,
    const CMFCToolBarButton& button,
    int iInsertBefore=-1);

void AddButton(
    LPCTSTR lpszCategory,
    const CMFCToolBarButton& button,
    int iInsertBefore=-1);

Parâmetros

uiCategoryId
[in] Especifica a ID da categoria em que o botão deve ser inserido.

botão
[in] Especifica o botão a ser inserido.

iInsertBefore
[in] Especifica o índice baseado em zero de um botão de barra de ferramentas, antes do qual o botão é inserido.

lpszCategory
[in] Especifica a cadeia de caracteres da categoria para inserir o botão.

Comentários

O método AddButton ignora botões que têm as IDs de comando padrão (como ID_FILE_MRU_FILE1), comandos que não são permitidos (confira CMFCToolBar::IsCommandPermitted) e botões fictícios.

Esse método cria um novo objeto do mesmo tipo que button (geralmente uma Classe CMFCToolBarButton) usando a classe de runtime do botão. Em seguida, chama CMFCToolBarButton::CopyFrom para copiar os membros de dados do botão e insere a cópia na categoria especificada.

Quando o novo botão é inserido, ele recebe a notificação OnAddToCustomizePage.

Se iInsertBefore for -1, o botão será acrescentado à lista de categorias. Caso contrário, será inserido antes do item com o índice especificado.

Exemplo

O exemplo a seguir demonstra como usar o método AddButton da classe CMFCToolBarsCustomizeDialog. Este snippet de código faz parte do exemplo de controle deslizante.

CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
                                                                        TRUE /* Automatic menus scaning */);

CSliderButton btnSlider(ID_SLIDER);
btnSlider.SetRange(0, 100);

pDlgCust->AddButton(_T("Edit"), btnSlider);

CMFCToolBarsCustomizeDialog::AddMenu

Carrega um menu dos recursos e chama CMFCToolBarsCustomizeDialog::AddMenuCommands para adicionar esse menu à lista de comandos na página Comandos.

BOOL AddMenu(UINT uiMenuResId);

Parâmetros

uiMenuResId
[in] Especifica a ID do recurso de um menu a ser carregado.

Valor de retorno

TRUE se um menu foi adicionado com êxito. Caso contrário, FALSE.

Comentários

Na chamada ao AddMenuCommands, bPopup é FALSE. Como resultado, esse método não adiciona à lista de comandos os itens de menu que contêm submenus. Esse método adiciona os itens de menu no submenu à lista de comandos.

CMFCToolBarsCustomizeDialog::AddMenuCommands

Adiciona itens à lista de comandos na página Comandos, para representar todos os itens no menu especificado.

void AddMenuCommands(
    const CMenu* pMenu,
    BOOL bPopup,
    LPCTSTR lpszCategory=NULL,
    LPCTSTR lpszMenuPath=NULL);

Parâmetros

pMenu
[in] Um ponteiro para o objeto CMenu a ser adicionado.

bPopup
[in] Especifica se os itens de menu pop-up devem ser inseridos na lista de comandos.

lpszCategory
[in] O nome da categoria a ser inserida no menu.

lpszMenuPath
[in] Um prefixo adicionado ao nome quando o comando é mostrado na lista Todas as Categorias.

Comentários

O método AddMenuCommands faz um loop sobre todos os itens de menu do pMenu. Para cada item de menu que não contém um submenu, esse método cria um objeto Classe CMFCToolBarButton e chama o método CMFCToolBarsCustomizeDialog::AddButton para adicionar o item de menu como botão de barra de ferramentas à lista de comandos na página Comandos. Os separadores são ignorados nesse processo.

Se bPopup for TRUE, para cada item de menu que contém um submenu, esse método criará um objeto Classe CMFCToolBarMenuButton e o inserirá na lista de comandos, chamando AddButton. Caso contrário, os itens de menu que contêm submenus não serão exibidos na lista de comandos. Em ambos os casos, quando AddMenuCommands encontra um item de menu com um submenu, ele se chama recursivamente, passando um ponteiro para o submenu como o parâmetro pMenu e acrescentando o rótulo do submenu ao lpszMenuPath.

CMFCToolBarsCustomizeDialog::AddToolBar

Carrega uma barra de ferramentas a partir dos recursos. Em seguida, para cada comando no menu, chama o método CMFCToolBarsCustomizeDialog::AddButton para inserir um botão na lista de comandos na página Comandos da categoria especificada.

BOOL AddToolBar(
    UINT uiCategoryId,
    UINT uiToolbarResId);

BOOL AddToolBar(
    LPCTSTR lpszCategory,
    UINT uiToolbarResId);

Parâmetros

uiCategoryId
[in] Especifica a ID do recurso da categoria a que a barra de ferramentas deve ser adicionada.

uiToolbarResId
[in] Especifica a ID do recurso de uma barra de ferramentas cujos comandos são inseridos na lista de comandos.

lpszCategory
[in] Especifica o nome da categoria a que a barra de ferramentas deve ser adicionada.

Valor de retorno

TRUE, se o método tiver êxito. Caso contrário, FALSE.

Exemplo

O seguinte exemplo demonstra como usar o método AddToolBar na classe CMFCToolBarsCustomizeDialog. Este snippet de código faz parte do exemplo do Word Pad.

CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
                                                                        TRUE /* Automatic menus scaning */,
                                                                        AFX_CUSTOMIZE_MENU_SHADOWS | AFX_CUSTOMIZE_TEXT_LABELS |
                                                                            AFX_CUSTOMIZE_MENU_ANIMATIONS);

pDlgCust->AddToolBar(_T("Format"), IDR_FORMATBAR);

Comentários

O controle usado para representar cada comando é um objeto Classe CMFCToolBarButton. Depois de adicionar a barra de ferramentas, você pode substituir o botão por um controle de um tipo derivado, chamando CMFCToolBarsCustomizeDialog::ReplaceButton.

CMFCToolBarsCustomizeDialog::CheckToolsValidity

Verifica a validade da lista de ferramentas de usuário.

virtual BOOL CheckToolsValidity(const CObList& lstTools);

Parâmetros

lstTools
[in] A lista de ferramentas definidas pelo usuário a serem verificadas.

Valor de retorno

Retorna TRUE, se a lista de ferramentas definidas pelo usuário for válida. Caso contrário, FALSE. A implementação padrão sempre retorna TRUE.

Comentários

A estrutura chama esse método para verificar a validade dos objetos que representam as ferramentas definidas pelo usuário retornadas por CMFCToolBarsCustomizeDialog::CheckToolsValidity.

Substitua o método CheckToolsValidity em uma classe derivada de CMFCToolBarsCustomizeDialog, se você deseja validar as ferramentas de usuário, antes que o usuário feche a caixa de diálogo. Se esse método retornar FALSE, quando o usuário clicar no botão Fechar, no canto superior direito da caixa de diálogo, ou no botão rotulado como Fechar, no canto inferior direito da caixa de diálogo, a caixa de diálogo exibirá a guia Ferramentas, em vez de fechar. Se esse método retornar FALSE, quando o usuário clicar em uma guia para sair da guia Ferramentas, a navegação não ocorrerá. Você deve exibir uma caixa de mensagem apropriada para informar o usuário sobre o problema que causou a falha na validação.

CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog

Constrói um objeto CMFCToolBarsCustomizeDialog.

CMFCToolBarsCustomizeDialog(
    CFrameWnd* pWndParentFrame,
    BOOL bAutoSetFromMenus = FALSE,
    UINT uiFlags = (AFX_CUSTOMIZE_MENU_SHADOWS | AFX_CUSTOMIZE_TEXT_LABELS | AFX_CUSTOMIZE_MENU_ANIMATIONS | AFX_CUSTOMIZE_NOHELP),
    CList <CRuntimeClass*, CRuntimeClass*>* p listCustomPages = NULL);

Parâmetros

pWndParentFrame
[in] Um ponteiro para o quadro pai. Esse parâmetro não deve ser NULL.

bAutoSetFromMenus
[in] Um valor booliano que especifica se os comandos de menu devem ser adicionados em todos os menus à lista de comandos na página Comandos. Se esse parâmetro for TRUE, os comandos de menu serão adicionados. Caso contrário, os comandos de menu não serão adicionados.

uiFlags
[in] Uma combinação de sinalizadores que afetam o comportamento da caixa de diálogo. Esse parâmetro pode usar um dos valores a seguir:

  • AFX_CUSTOMIZE_MENU_SHADOWS

  • AFX_CUSTOMIZE_TEXT_LABELS

  • AFX_CUSTOMIZE_MENU_ANIMATIONS

  • AFX_CUSTOMIZE_NOHELP

  • AFX_CUSTOMIZE_CONTEXT_HELP

  • AFX_CUSTOMIZE_NOTOOLS

  • AFX_CUSTOMIZE_MENUAMPERS

  • AFX_CUSTOMIZE_NO_LARGE_ICONS

plistCustomPages
[in] Um ponteiro para uma lista de objetos CRuntimeClass que especificam páginas personalizadas adicionais.

Comentários

O parâmetro plistCustomPages refere-se à lista de objetos CRuntimeClass que especificam páginas personalizadas adicionais. O construtor adiciona mais páginas à caixa de diálogo, usando o método CRuntimeClass::CreateObject. Confira a amostra CustomPages para obter um exemplo que adiciona mais páginas à caixa de diálogo Personalizar.

Para obter mais informações sobre os valores que você pode passar no parâmetro uiFlags, confira CMFCToolBarsCustomizeDialog::GetFlags.

Exemplo

O exemplo a seguir demonstra como construir um objeto da classe CMFCToolBarsCustomizeDialog. Este snippet de código faz parte da amostra de Páginas personalizadas.

CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
                                                                        TRUE /* Automatic menus scaning */,
                                                                        AFX_CUSTOMIZE_MENU_SHADOWS | AFX_CUSTOMIZE_TEXT_LABELS |
                                                                            AFX_CUSTOMIZE_MENU_ANIMATIONS, // default parameters
                                                                        &lstCustomPages);                  // pointer to the list of runtime classes of the custom property pages

CMFCToolBarsCustomizeDialog::Create

Exibe a caixa de diálogo Personalização.

virtual BOOL Create();

Valor de retorno

TRUE se a folha de propriedades de personalização for criada com êxito. Caso contrário, FALSE.

Comentários

Chame o método Create somente depois de inicializar totalmente a classe.

CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars

Habilita ou desabilita a criação de novas barras de ferramentas, usando a caixa de diálogo Personalizar.

void EnableUserDefinedToolbars(BOOL bEnable=TRUE);

Parâmetros

bEnable
[in] TRUE para habilitar as barras de ferramentas definidas pelo usuário. FALSE para desabilitar as barras de ferramentas.

Comentários

Se bEnable for TRUE, os botões Novo, Renomear e Excluir serão exibidos na página Barras de Ferramentas.

Por padrão, ou se bEnable for FALSE, esses botões não serão exibidos e o usuário não poderá definir novas barras de ferramentas.

CMFCToolBarsCustomizeDialog::FillAllCommandsList

Preenche o objeto CListBox fornecido com os comandos na categoria Todos os Comandos.

virtual void FillAllCommandsList(CListBox& wndListOfCommands) const;

Parâmetros

wndListOfCommands
[out] Uma referência ao objeto CListBox a ser preenchido.

Comentários

A categoria Todos os Comandos contém os comandos de todas as categorias. O método CMFCToolBarsCustomizeDialog::AddButton adiciona o comando que é associado ao botão fornecido à categoria Todos os Comandos.

Esse método limpa o conteúdo do objeto CListBox fornecido, antes de preenchê-lo com os comandos na categoria Todos os Comandos.

A classe CMFCMousePropertyPage usa esse método para preencher a caixa de listagem de eventos de clique duplo.

CMFCToolBarsCustomizeDialog::FillCategoriesComboBox

Preenche o objeto CComboBox fornecido com o nome de cada categoria de comando na caixa de diálogo Personalizar.

void FillCategoriesComboBox(
    CComboBox& wndCategory,
    BOOL bAddEmpty = TRUE) const;

Parâmetros

wndCategory
[out] Uma referência ao objeto CComboBox a ser preenchido.

bAddEmpty
[in] Um valor booliano que especifica se categorias que não têm comandos devem ser adicionadas à caixa de combinação. Se esse parâmetro for TRUE, as categorias vazias serão adicionadas à caixa de combinação. Caso contrário, categorias vazias não serão adicionadas.

Comentários

Esse método é como o método CMFCToolBarsCustomizeDialog::FillCategoriesListBox, com exceção de que esse método funciona com objeto CComboBox.

Esse método não limpa o conteúdo do objeto CComboBox, antes de preenchê-lo. Ele garante que a categoria Todos os Comandos seja o item final na caixa de combinação.

Você pode adicionar novas categorias de comando usando o método CMFCToolBarsCustomizeDialog::AddButton. Você pode alterar o nome de uma categoria existente usando o método CMFCToolBarsCustomizeDialog::RenameCategory.

As classes CMFCToolBarsKeyboardPropertyPage e CMFCKeyMapDialog usam esse método para categorizar os mapeamentos de teclado.

CMFCToolBarsCustomizeDialog::FillCategoriesListBox

Preenche o objeto CListBox fornecido com o nome de cada categoria de comando na caixa de diálogo Personalizar.

void FillCategoriesListBox(
    CListBox& wndCategory,
    BOOL bAddEmpty = TRUE) const;

Parâmetros

wndCategory
[out] Uma referência ao objeto CListBox a ser preenchido.

bAddEmpty
[in] Um valor booliano que especifica se categorias que não têm comandos devem ser adicionadas à caixa de listagem. Se esse parâmetro for TRUE, as categorias vazias serão adicionadas à caixa de listagem. Caso contrário, categorias vazias não serão adicionadas.

Comentários

Esse método é como o método CMFCToolBarsCustomizeDialog::FillCategoriesComboBox, com exceção de que esse método funciona com objeto CListBox.

Esse método não limpa o conteúdo do objeto CListBox, antes de preenchê-lo. Ele garante que a categoria Todos os Comandos seja o item final na caixa de listagem.

Você pode adicionar novas categorias de comando usando o método CMFCToolBarsCustomizeDialog::AddButton. Você pode alterar o nome de uma categoria existente usando o método CMFCToolBarsCustomizeDialog::RenameCategory.

A classe CMFCToolBarsCommandsPropertyPage usa esse método para mostrar a lista de comandos associados a cada categoria de comando.

CMFCToolBarsCustomizeDialog::GetCommandName

Recupera o nome associado à ID de comando especificada.

LPCTSTR GetCommandName(UINT uiCmd) const;

Parâmetros

uiCmd
[in] A ID do comando a ser recuperado.

Valor de retorno

O nome associado à ID de comando fornecida ou NULL, se o comando não existir.

CMFCToolBarsCustomizeDialog::GetCountInCategory

Recupera o número de itens na lista fornecida que têm determinado rótulo de texto.

int GetCountInCategory(
    LPCTSTR lpszItemName,
    const CObList& lstCommands) const;

Parâmetros

lpszItemName
[in] O rótulo de texto a ser correspondido.

lstCommands
[in] Uma referência a uma lista que contém objetos CMFCToolBarButton.

Valor de retorno

O número de itens na lista fornecida cujo rótulo de texto é igual a lpszItemName.

Comentários

Cada elemento na lista de objetos fornecidos deve ser do tipo CMFCToolBarButton. Esse método compara lpszItemName ao membro de dados CMFCToolBarButton::m_strText.

CMFCToolBarsCustomizeDialog::GetFlags

Recupera o conjunto de sinalizadores que afetam o comportamento da caixa de diálogo.

UINT GetFlags() const;

Valor de retorno

O conjunto de sinalizadores que afetam o comportamento da caixa de diálogo.

Comentários

Esse método recupera o valor do parâmetro uiFlags passado para o construtor. O valor retornado pode ser um ou mais dos seguintes valores:

Nome Descrição
AFX_CUSTOMIZE_MENU_SHADOWS Permite que o usuário especifique a aparência de sombra do menu.
AFX_CUSTOMIZE_TEXT_LABELS Permite que o usuário especifique se os rótulos de texto são mostrados abaixo das imagens do botão de barra de ferramentas.
AFX_CUSTOMIZE_MENU_ANIMATIONS Permite que o usuário especifique o estilo de animação do menu.
AFX_CUSTOMIZE_NOHELP Remove o botão de ajuda da caixa de diálogo de personalização.
AFX_CUSTOMIZE_CONTEXT_HELP Habilita o estilo do visual WS_EX_CONTEXTHELP.
AFX_CUSTOMIZE_NOTOOLS Remove a página Ferramentas da caixa de diálogo de personalização. Esse sinalizador será válido, se o aplicativo usar a classe CUserToolsManager.
AFX_CUSTOMIZE_MENUAMPERS Permite que as legendas dos botões contenham o caractere e comercial ( &).
AFX_CUSTOMIZE_NO_LARGE_ICONS Remove a opção Ícones Grandes da caixa de diálogo de personalização.

Para obter mais informações sobre o estilo do visual WS_EX_CONTEXTHELP, confira Estilos de Janela Estendida.

CMFCToolBarsCustomizeDialog::OnAfterChangeTool

Responde a uma alteração em uma ferramenta de usuário imediatamente após a ocorrência.

virtual void OnAfterChangeTool(CUserTool* pSelTool);

Parâmetros

pSelTool
[in, out] Um ponteiro para o objeto de ferramenta de usuário que foi alterado.

Comentários

Esse método é chamado pela estrutura quando um usuário altera as propriedades de uma ferramenta definida pelo usuário. A implementação padrão não tem ação. Substitua esse método em uma classe derivada de CMFCToolBarsCustomizeDialog, para executar o processamento após a ocorrência de uma alteração em uma ferramenta de usuário.

CMFCToolBarsCustomizeDialog::OnAssignKey

Valida os atalhos à medida que um usuário os define.

virtual BOOL OnAssignKey(ACCEL* pAccel);

Parâmetros

pAccel
[dentro, fora] Ponteiro para a atribuição de teclado proposta que é expressa como uma estrutura ACCEL .

Valor de retorno

TRUE, se for possível atribuir a chave, ou FALSE, se não for possível atribuir a chave. A implementação padrão sempre retorna TRUE.

Comentários

Substitua esse método em uma classe derivada para executar processamento adicional, quando um usuário atribui um novo atalho, ou para validar os atalhos, à medida que o usuário os define. Para evitar que um atalho seja atribuído, retorne FALSE. Você também deve exibir uma caixa de mensagem ou informar o usuário sobre o motivo pelo qual o atalho foi rejeitado.

CMFCToolBarsCustomizeDialog::OnBeforeChangeTool

Executa o processamento personalizado quando uma alteração em uma ferramenta de usuário, quando o usuário está prestes a aplicar uma alteração.

virtual void OnBeforeChangeTool(CUserTool* pSelTool);

Parâmetros

pSelTool
[in, out] Um ponteiro para o objeto de ferramenta de usuário que está prestes a ser substituído.

Comentários

Esse método é chamado pela estrutura quando as propriedades de uma ferramenta definida pelo usuário estão prestes a ser alteradas. A implementação padrão não tem ação. Substitua o método OnBeforeChangeTool em uma classe derivada de CMFCToolBarsCustomizeDialog, se você quiser executar o processamento antes que uma alteração em uma ferramenta de usuário ocorra, como a liberação de recursos usada por pSelTool.

CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage

Inicia um editor de imagens para que um usuário possa personalizar um botão de barra de ferramentas ou ícone de item de menu.

virtual BOOL OnEditToolbarMenuImage(
    CWnd* pWndParent,
    CBitmap& bitmap,
    int nBitsPerPixel);

Parâmetros

pWndParent
[in] Um ponteiro para a janela pai.

bitmap
[in] Uma referência a um objeto bitmap a ser editado.

nBitsPerPixel
[in] Resolução de cores do bitmap, em bits por pixel.

Valor de retorno

TRUE, se uma alteração estiver sendo confirmada. Caso contrário, FALSE. A implementação padrão exibe uma caixa de diálogo e retorna TRUE, se o usuário clicar em OK, ou FALSE, se o usuário clicar em Cancelar ou no botão Fechar.

Comentários

Esse método é chamado pela estrutura, quando o usuário executa o editor de imagem. A implementação padrão exibe a caixa de diálogo Classe CMFCImageEditorDialog. Substitua OnEditToolbarMenuImage em uma classe derivada, para usar um editor de imagem personalizado.

CMFCToolBarsCustomizeDialog::OnInitDialog

Substitui a inicialização da folha de propriedades aumentada.

virtual BOOL OnInitDialog();

Valor de retorno

O resultado da chamada ao método CPropertySheet::OnInitDialog.

Comentários

Esse método estende a implementação da classe base, CPropertySheet::OnInitDialog, exibindo o botão Fechar, garantindo que a caixa de diálogo se ajuste ao tamanho da tela atual e movendo o botão Ajuda para o canto inferior esquerdo da caixa de diálogo.

CMFCToolBarsCustomizeDialog::OnInitToolsPage

Lida com a notificação da estrutura de que a página Ferramentas está prestes a ser inicializada.

virtual void OnInitToolsPage();

Comentários

A implementação padrão não tem ação. Substitua esse método em uma classe derivada, para processar essa notificação.

CMFCToolBarsCustomizeDialog::PostNcDestroy

Chamado pela estrutura após a janela ter sido destruída.

virtual void PostNcDestroy();

Comentários

Esse método estende a implementação da classe base, CPropertySheet::PostNcDestroy, restaurando o aplicativo para o modo anterior.

O método CMFCToolBarsCustomizeDialog::Create coloca o aplicativo em um modo especial, que limita o usuário a tarefas de personalização.

CMFCToolBarsCustomizeDialog::RemoveButton

Remove o botão com a ID de comando especificada da categoria especificada ou de todas as categorias.

int RemoveButton(
    UINT uiCategoryId,
    UINT uiCmdId);

int RemoveButton(
    LPCTSTR lpszCategory,
    UINT uiCmdId);

Parâmetros

uiCategoryId
[in] Especifica a ID da categoria de que o botão deve ser removido.

uiCmdId
[in] Especifica a ID de comando do botão.

lpszCategory
[in] Especifica o nome da categoria de que o botão deve ser removido.

Valor de retorno

O índice baseado em zero do botão removido ou -1, se a ID de comando especificada não foi encontrada na categoria especificada. Se uiCategoryId for -1, o valor retornado será 0.

Comentários

Para remover um botão de todas as categorias, chame a primeira sobrecarga desse método e defina uiCategoryId como -1.

CMFCToolBarsCustomizeDialog::RenameCategory

Renomeia uma categoria na caixa de listagem de categorias na página Comandos.

BOOL RenameCategory(
    LPCTSTR lpszCategoryOld,
    LPCTSTR lpszCategoryNew);

Parâmetros

lpszCategoryOld
[in] O nome da categoria a ser alterado.

lpszCategoryNew
[in] O novo nome da categoria.

Valor de retorno

TRUE se o método foi bem-sucedido; caso contrário, FALSE.

Comentários

O nome da categoria deve ser exclusivo.

CMFCToolBarsCustomizeDialog::ReplaceButton

Substitui um botão de barra de ferramentas na caixa de listagem de comandos na página Comandos.

void ReplaceButton(
    UINT uiCmd,
    const CMFCToolBarButton& button);

Parâmetros

uiCmd
[in] Especifica o comando do botão a ser substituído.

botão
[in] Uma referência const ao objeto do botão de barra de ferramentas que substitui o botão antigo.

Comentários

Quando CMFCToolBarsCustomizeDialog::AddMenu, CMFCToolBarsCustomizeDialog::AddMenuCommands ou CMFCToolBarsCustomizeDialog::AddToolBar adiciona um comando à página Comandos, esse comando está na forma de um objeto Classe CMFCToolBarButton (ou um objeto CMFCToolBarMenuButton para um item de menu que contém um submenu adicionado por AddMenuCommands). A estrutura também chama esses três métodos para adicionar comandos automaticamente. Se você quiser que um comando seja representado por um tipo derivado, chame ReplaceButton e passe um botão do tipo derivado.

Exemplo

O seguinte exemplo demonstra como usar o método ReplaceButton na classe CMFCToolBarsCustomizeDialog. Esse snippet de código faz parte do exemplo de Demonstração do Visual Studio.

// CMFCToolBarsCustomizeDialog* pDlgCust
     // CMFCToolBarComboBoxButton comboButtonConfig
     pDlgCust->ReplaceButton(ID_DUMMY_SELECT_ACTIVE_CONFIGURATION, comboButtonConfig);

CMFCToolBarsCustomizeDialog::SetUserCategory

Especifica qual categoria na lista de categorias na página Comandos é a categoria do usuário. Você deve chamar essa função, antes de chamar CMFCToolBarsCustomizeDialog::Create.

BOOL SetUserCategory(LPCTSTR lpszCategory);

Parâmetros

lpszCategory
[in] O nome da categoria.

Valor de retorno

TRUE, se o método tiver êxito. Caso contrário, FALSE.

Comentários

A configuração de categoria do usuário não é usada pela estrutura no momento.

Confira também

Gráfico da hierarquia
Classes
Classe CPropertySheet