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
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 um struct 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.