Partilhar via


CMFCToolBarsCustomizeDialog Class

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Uma caixa de diálogo de separador sem modos ( CPropertySheet Class) que permite ao utilizador personalizar as barras de ferramentas, menus, atalhos de teclado, ferramentas definidas pelo utilizador e o estilo visual de uma aplicação. Normalmente, o utilizador acede a esta caixa de diálogo selecionando Personalizar no menu de Ferramentas .

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

Sintaxe

class CMFCToolBarsCustomizeDialog : public CPropertySheet

Membros

Construtores Públicos

Nome Description
CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog Constrói um CMFCToolBarsCustomizeDialog objeto.
CMFCToolBarsCustomizeDialog::~CMFCToolBarsCustomizeDialog Destruidor.

Métodos Públicos

Nome Description
CMFCToolBarsCustomizeDialog::AddButton Insere um botão de barra de ferramentas na lista de comandos na página de Comandos
CMFCToolBarsCustomizeDialog::AddMenu Carrega um menu a partir dos recursos e chama CMFCToolBarsCustomizeDialog::AddMenuCommands para adicionar esse menu à lista de comandos na página de Commands .
CMFCToolBarsCustomizeDialog::AddMenuCommands Carrega um menu a partir dos recursos e chama CMFCToolBarsCustomizeDialog::AddMenuCommands para adicionar esse menu à lista de comandos na página de Commands .
CMFCToolBarsCustomizeDialog::AddToolBar Carrega uma barra de ferramentas a partir dos recursos. Depois, para cada comando no menu, chama o método CMFCToolBarsCustomizeDialog::AddButton para inserir um botão na lista de comandos na página de Comandos sob a categoria especificada.
CMFCToolBarsCustomizeDialog::Create Mostra a caixa de diálogo Personalização .
CMFCToolBarsCustomizeDialog::EnableTools Reservado para uso futuro.
CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars Ativa ou desativa a criação de novas barras de ferramentas usando a caixa de diálogo Personalizar .
CMFCToolBarsCustomizeDialog::FillAllCommandsList Preenche o objeto fornecido CListBox com os comandos na categoria Todos os Comandos .
CMFCToolBarsCustomizeDialog::FillCategoriesComboBox Preenche o objeto fornecido CComboBox com o nome de cada categoria de comando na caixa de diálogo Personalizar .
CMFCToolBarsCustomizeDialog::FillCategoriesListBox Preenche o objeto fornecido CListBox com o nome de cada categoria de comando na caixa de diálogo Personalizar .
CMFCToolBarsCustomizeDialog::GetCommandName Recupera o nome associado ao ID do comando indicado.
CMFCToolBarsCustomizeDialog::GetCountInCategory Recupera o número de itens na lista fornecida que têm um determinado rótulo de texto.
CMFCToolBarsCustomizeDialog::GetFlags Recupera o conjunto de flags que afetam o comportamento da caixa de diálogo.
CMFCToolBarsCustomizeDialog::GetThisClass Usado pelo framework para obter um ponteiro para o objeto CRuntimeClass associado a este tipo de classe.
CMFCToolBarsPersonalizareDialog::OnEditToolbarMenuImage. Inicia um editor de imagens para que o utilizador possa personalizar um ícone de botão ou item de menu na barra de ferramentas.
CMFCToolBarsCustomizeDialog::OnInitDialog Sobrescreve para aumentar a inicialização da folha de propriedades. (Sobrepõe CPropertySheet::OnInitDialog.)
CMFCToolBarsCustomizeDialog::P ostNcDestroy Chamado pela estrutura depois de a janela ter sido destruída. (Anula CPropertySheet::PostNcDestroy.)
CMFCToolBarsCustomizeDialog::RemoveButton Remove o botão com o ID de comando especificado da categoria especificada, ou de todas as categorias.
CMFCToolBarsCustomizeDialog::RenameCategory Renomeia uma categoria na caixa de lista de categorias no separador Comandos .
CMFCToolBarsCustomizeDialog::ReplaceButton Substitui um botão na lista de comandos no separador de Comandos por um novo objeto de botão da barra de ferramentas.
CMFCToolBarsCustomizeDialog::SetUserCategory Adiciona uma categoria à lista de categorias que serão exibidas no separador de Comandos .

Métodos Protegidos

Nome Description
CMFCToolBarsCustomizeDialog::CheckToolsValidity Chamado pelo framework para determinar se a lista de ferramentas definidas pelo utilizador é válida.
CMFCToolBarsCustomizeDialog::OnAfterChangeTool Chamada pelo framework quando as propriedades de uma ferramenta definida pelo utilizador mudam.
CMFCToolBarsCustomizeDialog::OnAssignKey Determina se um atalho de teclado especificado pode ser atribuído a uma ação.
CMFCToolBarsCustomizeDialog::OnBeforeChangeTool Determina se uma ferramenta definida pelo utilizador pode ser alterada.
CMFCToolBarsCustomizeDialog::OnInitToolsPage Chamada pelo framework quando o utilizador escolhe, o separador Ferramentas é solicitado.

Observações

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

Enquanto a caixa de diálogo Personalizar está ativa, a aplicação funciona num modo especial que limita o utilizador a tarefas de personalização.

Example

O exemplo seguinte demonstra como usar vários métodos na CMFCToolBarsCustomizeDialog aula. O exemplo mostra como substituir um botão da barra de ferramentas na caixa de lista de comandos na página de Comandos , permitir a criação de novas barras de ferramentas usando a caixa de diálogo Personalizar e mostrar a caixa de diálogo Personalização . Este excerto de código faz parte do exemplo IE Demo.

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

Hierarquia de herança

CObject

CCmdTarget

CWnd

CPropertySheet

CMFCToolBarsCustomizeDialog

Requerimentos

Cabeçalho: afxToolBarsCustomizeDialog.h

CMFCToolBarsCustomizeDialog::AddButton

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

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

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

Parâmetros

uiCategoryId
[dentro] Especifica o ID da categoria onde inserir o botão.

botão
[dentro] Especifica o botão a inserir.

iInsertBefore
[dentro] Especifica o índice em base zero de um botão da barra de ferramentas antes do qual o botão é inserido.

lpszCategory
[dentro] Especifica a cadeia de categoria para inserir o botão.

Observações

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

Este método cria um novo objeto do mesmo tipo ( button normalmente uma classe CMFCToolBarButton) usando a classe de execução do botão. De seguida, chama CMFCToolBarButton::CopyFrom para copiar os membros de dados de button e insere a cópia na categoria especificada.

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

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

Example

O exemplo seguinte demonstra como usar o AddButton método da CMFCToolBarsCustomizeDialog classe. Este excerto de código faz parte do exemplo do Slider.

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

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

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

CMFCToolBarsCustomizeDialog::AddMenu

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

BOOL AddMenu(UINT uiMenuResId);

Parâmetros

uiMenuResId
[dentro] Especifica o ID de recurso de um menu a carregar.

Valor de retorno

VERDADE se um menu foi adicionado com sucesso; caso contrário, FALSO.

Observações

Na chamada para AddMenuCommands, o bPopup é FALSO. Como resultado, esse método não adiciona itens de menu que contenham submenus à lista de comandos. Este método adiciona os itens do menu nos submenus à lista de comandos.

CMFCToolBarsCustomizeDialog::AddMenuCommands

Adiciona itens à lista de comandos na página de 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
[dentro] Um apontador para o objeto CMenu a adicionar.

bPopup
[dentro] Especifica se deve inserir os itens do menu popup na lista de comandos.

lpszCategory
[dentro] O nome da categoria para inserir o menu.

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

Observações

O AddMenuCommands método abarca todos os itens do menu do pMenu. Para cada item do menu que não contenha um submenu, este método cria um objeto CMFCToolBarButton Class e chama o método CMFCToolBarsCustomizeDialog::AddButton para adicionar o item do menu como botão da barra de ferramentas à lista de comandos na página de Comandos . Os separadores são ignorados neste processo.

Se o bPopup for TRUE, para cada item do menu que contenha um submenu este método cria um objeto CMFCToolBarMenuButton Class e insere-o na lista de comandos chamando AddButton. Caso contrário, os itens do menu que contêm submenus não são apresentados na lista de comandos. Em qualquer dos casos, quando AddMenuCommands encontra um item do menu com um submenu, ele chama-se a si próprio recursivamente, passando um ponteiro para o submenu como parâmetro pMenu e adicionando o rótulo do submenu a lpszMenuPath.

CMFCToolBarsCustomizeDialog::AddToolBar

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

BOOL AddToolBar(
    UINT uiCategoryId,
    UINT uiToolbarResId);

BOOL AddToolBar(
    LPCTSTR lpszCategory,
    UINT uiToolbarResId);

Parâmetros

uiCategoryId
[dentro] Especifica o ID de recurso da categoria a adicionar a barra de ferramentas.

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

lpszCategory
[dentro] Especifica o nome da categoria à qual adicionar a barra de ferramentas.

Valor de retorno

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

Example

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

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

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

Observações

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

CMFCToolBarsCustomizeDialog::CheckToolsValidity

Verifica a validade da lista de ferramentas de utilizador.

virtual BOOL CheckToolsValidity(const CObList& lstTools);

Parâmetros

lstTools
[dentro] A lista de ferramentas definidas pelo utilizador para verificar.

Valor de retorno

Retorna TRUE se a lista de ferramentas definidas pelo utilizador for válida; caso contrário, FALSO. A implementação padrão devolve sempre TRUE.

Observações

O framework chama este método para verificar a validade de objetos que representam ferramentas definidas pelo utilizador devolvidas pelo CMFCToolBarsCustomizeDialog::CheckToolsValidity.

Substitua o CheckToolsValidity método numa classe derivada de CMFCToolBarsCustomizeDialog se quiser validar as ferramentas do utilizador antes de o utilizador fechar a caixa de diálogo. Se este método devolver FALSE quando o utilizador clica no botão Fechar no canto superior direito da caixa de diálogo ou no botão rotulado Fechar no canto inferior direito da caixa de diálogo, a caixa de diálogo mostra o separador Ferramentas em vez de fechar. Se este método devolver FALSE quando o utilizador clica numa aba para se afastar do separador de Ferramentas , a navegação não ocorre. Deve mostrar uma caixa de mensagem apropriada para informar o utilizador do problema que causou a falha da validação.

CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog

Constrói um CMFCToolBarsCustomizeDialog objeto.

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
[dentro] Um apontador para a estrutura principal. Este parâmetro não pode ser NULL.

bAutoSetFromMenus
[dentro] Um valor booleano que especifica se deve adicionar os comandos de menu de todos os menus à lista de comandos na página de Comandos . Se este parâmetro for VERDADEIRO, os comandos do menu são adicionados. Caso contrário, os comandos do menu não são adicionados.

uiFlags
[dentro] Uma combinação de flags que afetam o comportamento da caixa de diálogo. Este parâmetro pode ser um ou mais dos seguintes valores:

  • 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
[dentro] Um apontador para uma lista de CRuntimeClass objetos que especificam páginas personalizadas adicionais.

Observações

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

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

Example

O exemplo seguinte demonstra como construir um objeto da CMFCToolBarsCustomizeDialog classe. Este excerto de código faz parte do exemplo de Páginas Personalizadas.

CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
                                                                        TRUE /* Automatic menus scanning */,
                                                                        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

Mostra 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 sucesso; caso contrário, FALSO.

Observações

Chame o Create método apenas depois de inicializar totalmente a turma.

CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars

Ativa ou desativa a criação de novas barras de ferramentas usando a caixa de diálogo Personalizar .

void EnableUserDefinedToolbars(BOOL bEnable=TRUE);

Parâmetros

bEnable
[dentro] TRUE para ativar as barras de ferramentas definidas pelo utilizador; FALSE para desativar as barras de ferramentas.

Observações

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

Por defeito, ou se bEnable for FALSE, estes botões não são exibidos e o utilizador não pode definir novas barras de ferramentas.

CMFCToolBarsCustomizeDialog::FillAllCommandsList

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

virtual void FillAllCommandsList(CListBox& wndListOfCommands) const;

Parâmetros

wndListaDeComandos
[fora] Uma referência ao CListBox objeto a povoar.

Observações

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

Este método limpa o conteúdo do objeto fornecido CListBox antes de o preencher com os comandos na categoria Todos os Comandos .

A CMFCMousePropertyPage classe utiliza este método para preencher a caixa da lista de eventos com duplo clique.

CMFCToolBarsCustomizeDialog::FillCategoriesComboBox

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

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

Parâmetros

wndCategoria
[fora] Uma referência ao CComboBox objeto a povoar.

bAddEmpty
[dentro] Um valor booleano que especifica se deve adicionar categorias à caixa de combo que não têm comandos. Se este parâmetro for VERDADEIRO, categorias vazias são adicionadas à caixa de combo. Caso contrário, não são adicionadas categorias vazias.

Observações

Este método é semelhante ao CMFCToolBarsCustomizeDialog::FillCategoriesListBox , exceto que este método funciona com um CComboBox objeto.

Este método não limpa o conteúdo do CComboBox objeto antes de o preencher. Garante que a categoria Todos os Comandos é o item final na caixa de combo.

Pode adicionar novas categorias de comandos usando o método CMFCToolBarsCustomizeDialog::AddButton . Pode alterar o nome de uma categoria existente usando o método CMFCToolBarsCustomizeDialog::RenameCategory .

As CMFCToolBarsKeyboardPropertyPage classes and CMFCKeyMapDialog utilizam este método para categorizar os mapeamentos do teclado.

CMFCToolBarsCustomizeDialog::FillCategoriesListBox

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

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

Parâmetros

wndCategoria
[fora] Uma referência ao CListBox objeto a povoar.

bAddEmpty
[dentro] Um valor booleano que especifica se deve adicionar categorias à caixa da lista que não têm comandos. Se este parâmetro for VERDADEIRO, categorias vazias são adicionadas à caixa da lista. Caso contrário, não são adicionadas categorias vazias.

Observações

Este método é semelhante ao método CMFCToolBarsCustomizeDialog::FillCategoriesComboBox , exceto que este método funciona com um CListBox objeto.

Este método não limpa o conteúdo do CListBox objeto antes de o preencher. Garante que a categoria Todos os Comandos é o item final na caixa da lista.

Pode adicionar novas categorias de comandos usando o método CMFCToolBarsCustomizeDialog::AddButton . Pode alterar o nome de uma categoria existente usando o método CMFCToolBarsCustomizeDialog::RenameCategory .

A CMFCToolBarsCommandsPropertyPage classe utiliza este método para mostrar a lista de comandos associada a cada categoria de comando.

CMFCToolBarsCustomizeDialog::GetCommandName

Recupera o nome associado ao ID do comando indicado.

LPCTSTR GetCommandName(UINT uiCmd) const;

Parâmetros

uiCmd
[dentro] O ID do comando para recuperar.

Valor de retorno

O nome associado ao ID do comando indicado, ou NULL se o comando não existir.

CMFCToolBarsCustomizeDialog::GetCountInCategory

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

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

Parâmetros

lpszItemName
[dentro] O rótulo do texto para combinar.

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

Valor de retorno

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

Observações

Cada elemento na lista de objetos fornecida deve ser do tipo CMFCToolBarButton. Este método compara o lpszItemName com o membro de dados CMFCToolBarButton::m_strText .

CMFCToolBarsCustomizeDialog::GetFlags

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

UINT GetFlags() const;

Valor de retorno

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

Observações

Este método recupera o valor do parâmetro uiFlags que é passado ao construtor. O valor de retorno pode ser um ou mais dos seguintes valores:

Nome Description
AFX_CUSTOMIZE_MENU_SHADOWS Permite ao utilizador especificar a aparência da sombra do menu.
AFX_CUSTOMIZE_TEXT_LABELS Permite ao utilizador especificar se as etiquetas de texto são mostradas por baixo das imagens do botão da barra de ferramentas.
AFX_CUSTOMIZE_MENU_ANIMATIONS Permite ao utilizador especificar 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 Permite o WS_EX_CONTEXTHELP estilo visual.
AFX_CUSTOMIZE_NOTOOLS Remove a página de Ferramentas da caixa de diálogo de personalização. Este sinalizador é válido se a sua candidatura usar a CUserToolsManager disciplina.
AFX_CUSTOMIZE_MENUAMPERS Permite que as legendas dos botões contenham o caractere ampersand ( &).
AFX_CUSTOMIZE_NO_LARGE_ICONS Remove a opção Ícones Grandes da caixa de diálogo de personalização.

Para mais informações sobre o estilo visual WS_EX_CONTEXTHELP, consulte Extended Window Styles.

CMFCToolBarsCustomizeDialog::OnAfterChangeTool

Responde a uma alteração numa ferramenta de utilizador imediatamente após esta ocorrer.

virtual void OnAfterChangeTool(CUserTool* pSelTool);

Parâmetros

pSelTool
[inspira, expira] Um ponteiro para o objeto ferramenta de utilizador que foi alterado.

Observações

Este método é chamado pela framework quando um utilizador altera as propriedades de uma ferramenta definida pelo utilizador. A implementação padrão não faz nada. Substitua este método numa classe derivada de CMFCToolBarsCustomizeDialog para realizar processamento após ocorrer uma alteração numa ferramenta de utilizador.

CMFCToolBarsCustomizeDialog::OnAssignKey

Valida atalhos de teclado conforme o utilizador os define.

virtual BOOL OnAssignKey(ACCEL* pAccel);

Parâmetros

pAccel
[inspira, expira] Apontador para a atribuição de teclado proposta que é expressa como uma estrutura ACCEL .

Valor de retorno

TRUE se a chave puder ser atribuída, ou FALSE se a chave não puder ser atribuída. A implementação padrão devolve sempre TRUE.

Observações

Substitua este método numa classe derivada para realizar processamento extra quando um utilizador atribui um novo atalho de teclado, ou para validar atalhos de teclado conforme o utilizador os define. Para evitar que um atalho seja atribuído, devolve FALSE. Deve também mostrar uma caixa de mensagens ou informar o utilizador do motivo pelo qual o atalho de teclado foi rejeitado.

CMFCToolBarsCustomizeDialog::OnBeforeChangeTool

Realiza processamento personalizado quando há uma alteração numa ferramenta de utilizador quando o utilizador está prestes a aplicar uma alteração.

virtual void OnBeforeChangeTool(CUserTool* pSelTool);

Parâmetros

pSelTool
[inspira, expira] Um apontador para o objeto ferramenta de utilizador que está prestes a ser substituído.

Observações

Este método é chamado pelo framework quando as propriedades de uma ferramenta definida pelo utilizador está prestes a mudar. A implementação padrão não faz nada. Substitua o OnBeforeChangeTool método numa classe derivada de CMFCToolBarsCustomizeDialog se quiser realizar processamento antes de ocorrer uma alteração numa ferramenta de utilizador, como libertar recursos que o pSelTool utiliza.

CMFCToolBarsPersonalizareDialog::OnEditToolbarMenuImage.

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

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

Parâmetros

pWndParent
[dentro] Um apontador para a janela principal.

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

nBitsPerPixel
[dentro] Resolução de cor bitmap, em bits por pixel.

Valor de retorno

VERDADEIRO se uma alteração estiver a ser feita; caso contrário, FALSO. A implementação padrão mostra uma caixa de diálogo e devolve TRUE se o utilizador clicar OK, ou FALSE se clicar em Cancelar ou no botão Fechar .

Observações

Este método é chamado pelo framework quando o utilizador executa o editor de imagens. A implementação padrão mostra a caixa de diálogo CMFCImageEditorDialog Class . Substitua OnEditToolbarMenuImage uma classe derivada para usar um editor de imagem personalizado.

CMFCToolBarsCustomizeDialog::OnInitDialog

Sobrescreve para aumentar a inicialização da folha de propriedades.

virtual BOOL OnInitDialog();

Valor de retorno

O resultado de chamar o método CPropertySheet::OnInitDialog .

Observações

Este método estende a implementação da classe base, CPropertySheet::OnInitDialog, mostrando o botão Fechar , certificando-se de que a caixa de diálogo se ajusta ao tamanho atual do ecrã e movendo o botão Ajuda para o canto inferior esquerdo da caixa de diálogo.

CMFCToolBarsCustomizeDialog::OnInitToolsPage

Trata da notificação do framework de que a página de Ferramentas está prestes a ser inicializada.

virtual void OnInitToolsPage();

Observações

A implementação padrão não faz nada. Substitua este método numa classe derivada para processar esta notificação.

CMFCToolBarsCustomizeDialog::P ostNcDestroy

Chamado pela estrutura depois de a janela ter sido destruída.

virtual void PostNcDestroy();

Observações

Este método estende a implementação da classe base, CPropertySheet::PostNcDestroy, restaurando a aplicação ao modo anterior.

O método CMFCToolBarsCustomizeDialog::Create coloca a aplicação num modo especial que limita o utilizador a tarefas de personalização.

CMFCToolBarsCustomizeDialog::RemoveButton

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

int RemoveButton(
    UINT uiCategoryId,
    UINT uiCmdId);

int RemoveButton(
    LPCTSTR lpszCategory,
    UINT uiCmdId);

Parâmetros

uiCategoryId
[dentro] Especifica o ID da categoria a partir do qual remover o botão.

uiCmdId
[dentro] Especifica o ID do comando do botão.

lpszCategory
[dentro] Especifica o nome da categoria da qual se deve remover o botão.

Valor de retorno

O índice baseado em zero do botão removido, ou -1 se o ID de comando especificado não fosse encontrado na categoria especificada. Se uiCategoryId for -1, o valor de retorno é 0.

Observações

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

CMFCToolBarsCustomizeDialog::RenameCategory

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

BOOL RenameCategory(
    LPCTSTR lpszCategoryOld,
    LPCTSTR lpszCategoryNew);

Parâmetros

lpszCategoriaAntigo
[dentro] O nome da categoria a mudar.

lpszCategoriaNova
[dentro] O novo nome da categoria.

Valor de retorno

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

Observações

O nome da categoria deve ser único.

CMFCToolBarsCustomizeDialog::ReplaceButton

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

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

Parâmetros

uiCmd
[dentro] Especifica o comando do botão a substituir.

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

Observações

Quando CMFCToolBarsCustomizeDialog::AddMenu, CMFCToolBarsCustomizeDialog::AddMenuCommands, ou CMFCToolBarsCustomizeDialog::AddToolBar adiciona um comando à página de Commands , esse comando assume a forma de um objeto CMFCToolBarButton Class (ou um objeto CMFCToolBarMenuButton Class para um item do menu que contém um submenu adicionado por AddMenuCommands). O framework também chama estes três métodos para adicionar comandos automaticamente. Se quiser que um comando seja representado por um tipo derivado, chame ReplaceButton e passe um botão do tipo derivado.

Example

O exemplo seguinte demonstra como usar o ReplaceButton método na CMFCToolBarsCustomizeDialog aula. Este excerto 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 de Comandos é a categoria de utilizador. Deve chamar esta função antes de chamar CMFCToolBarsCustomizeDialog::Create.

BOOL SetUserCategory(LPCTSTR lpszCategory);

Parâmetros

lpszCategory
[dentro] O nome da categoria.

Valor de retorno

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

Observações

A definição de categoria de utilizador não é atualmente utilizada pelo framework.

Consulte também

Gráfico de Hierarquia
Classes
CPropertySheet Classe