Compartir a través de


Clase CMFCToolBarsCustomizeDialog

Un cuadro de diálogo no modal con pestañas (clase CPropertySheet) que permite al usuario personalizar las barras de herramientas, los menús, los métodos abreviados de teclado, las herramientas definidas por el usuario y el estilo visual de una aplicación. Normalmente, el usuario tiene acceso a este cuadro de diálogo seleccionando Personalizar en el menú Herramientas .

El cuadro de diálogo Personalizar tiene seis pestañas: Comandos, Barras de herramientas, Herramientas, Teclado, Menú y Opciones.

Sintaxis

class CMFCToolBarsCustomizeDialog : public CPropertySheet

Miembros

Constructores públicos

Nombre Descripción
CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog Construye un objeto CMFCToolBarsCustomizeDialog.
CMFCToolBarsCustomizeDialog::~CMFCToolBarsCustomizeDialog Destructor.

Métodos públicos

Nombre Descripción
CMFCToolBarsCustomizeDialog::AddButton Inserta un botón de barra de herramientas en la lista de comandos de la página Comandos.
CMFCToolBarsCustomizeDialog::AddMenu Carga un menú de los recursos y llama a CMFCToolBarsCustomizeDialog::AddMenuCommands para agregar ese menú a la lista de comandos de la página Comandos.
CMFCToolBarsCustomizeDialog::AddMenuCommands Carga un menú de los recursos y llama a CMFCToolBarsCustomizeDialog::AddMenuCommands para agregar ese menú a la lista de comandos de la página Comandos.
CMFCToolBarsCustomizeDialog::AddToolBar Carga una barra de herramientas de los recursos. A continuación, para cada comando del menú, llama al método CMFCToolBarsCustomizeDialog::AddButton para insertar un botón en la lista de comandos de la página Comandos en la categoría especificada.
CMFCToolBarsCustomizeDialog::Create Muestra el cuadro de diálogo Personalización.
CMFCToolBarsCustomizeDialog::EnableTools Reservado para uso futuro.
CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars Habilita o deshabilita la creación de nuevas barras de herramientas mediante el cuadro de diálogo Personalizar.
CMFCToolBarsCustomizeDialog::FillAllCommandsList Rellena el objeto CListBox proporcionado con los comandos de la categoría Todos los comandos.
CMFCToolBarsCustomizeDialog::FillCategoriesComboBox Rellena el objeto CComboBox proporcionado con el nombre de cada categoría de comandos en el cuadro de diálogo Personalizar.
CMFCToolBarsCustomizeDialog::FillCategoriesListBox Rellena el objeto CListBox proporcionado con el nombre de cada categoría de comandos en el cuadro de diálogo Personalizar.
CMFCToolBarsCustomizeDialog::GetCommandName Recupera el nombre asociado al identificador de comando especificado.
CMFCToolBarsCustomizeDialog::GetCountInCategory Recupera el número de elementos de la lista proporcionada que tienen una etiqueta de texto determinada.
CMFCToolBarsCustomizeDialog::GetFlags Recupera el conjunto de marcas que afectan al comportamiento del cuadro de diálogo.
CMFCToolBarsCustomizeDialog::GetThisClass Lo usa el marco para obtener un puntero al objeto CRuntimeClass asociado a este tipo de clase.
CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage Inicia un editor de imágenes para que el usuario pueda personalizar un botón de barra de herramientas o un icono de elemento de menú.
CMFCToolBarsCustomizeDialog::OnInitDialog Invalida para aumentar la inicialización de la hoja de propiedades. (Invalida CPropertySheet::OnInitDialog).
CMFCToolBarsCustomizeDialog::PostNcDestroy Lo llama el marco de trabajo después de que se haya destruido la ventana. (Invalida CPropertySheet::PostNcDestroy).
CMFCToolBarsCustomizeDialog::RemoveButton Quita el botón con el identificador de comando especificado de la categoría especificada o de todas las categorías.
CMFCToolBarsCustomizeDialog::RenameCategory Cambia el nombre de una categoría en el cuadro de lista de categorías de la pestaña Comandos.
CMFCToolBarsCustomizeDialog::ReplaceButton Reemplaza un botón en la lista de comandos de la pestaña Comandos por un nuevo objeto de botón de barra de herramientas.
CMFCToolBarsCustomizeDialog::SetUserCategory Agrega una categoría a la lista de categorías que se mostrarán en la pestaña Comandos.

Métodos protegidos

Nombre Descripción
CMFCToolBarsCustomizeDialog::CheckToolsValidity Lo llama el marco de trabajo para determinar si la lista de herramientas definidas por el usuario es válida.
CMFCToolBarsCustomizeDialog::OnAfterChangeTool Lo llama el marco de trabajo cuando cambian las propiedades de una herramienta definida por el usuario.
CMFCToolBarsCustomizeDialog::OnAssignKey Determina si se puede asignar un método abreviado de teclado especificado a una acción.
CMFCToolBarsCustomizeDialog::OnBeforeChangeTool Determina si se puede cambiar una herramienta definida por el usuario.
CMFCToolBarsCustomizeDialog::OnInitToolsPage Lo llama el marco de trabajo cuando el usuario elige la pestaña Herramientas.

Comentarios

Para mostrar el cuadro de diálogo Personalizar, cree un objeto CMFCToolBarsCustomizeDialog y llame al método CMFCToolBarsCustomizeDialog::Create.

Mientras el cuadro de diálogo Personalizar está activo, la aplicación funciona en un modo especial que limita al usuario a las tareas de personalización.

Ejemplo

En el siguiente ejemplo se muestra cómo usar los distintos métodos en la clase CMFCToolBarsCustomizeDialog . En el ejemplo, se muestra cómo reemplazar un botón de barra de herramientas en el cuadro de lista de comandos de la página Comandos, habilitar la creación de nuevas barras de herramientas mediante el cuadro de diálogo Personalizar y mostrar el cuadro de diálogo Personalización. Este fragmento de código forma parte del ejemplo de demostración de IE.

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

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CPropertySheet

CMFCToolBarsCustomizeDialog

Requisitos

Encabezado: afxToolBarsCustomizeDialog.h

CMFCToolBarsCustomizeDialog::AddButton

Inserta un botón de barra de herramientas en la lista de comandos de la 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 el identificador de la categoría en la que se va a insertar el botón.

botón
[in] Especifica el botón que se va a insertar.

iInsertBefore
[in] Especifica el índice de base cero de un botón de barra de herramientas antes del cual se inserta el botón.

lpszCategory
[in] Especifica la cadena de categoría que se va a insertar el botón.

Comentarios

El método AddButton omite los botones que tienen los identificadores de comando estándar (como ID_FILE_MRU_FILE1), los comandos que no están permitidos (consulte CMFCToolBar::IsCommandPermitted) y los botones ficticios.

Este método crea un nuevo objeto del mismo tipo que button (normalmente una clase CMFCToolBarButton) mediante la clase en tiempo de ejecución del botón. A continuación, llama a CMFCToolBarButton::CopyFrom para copiar los miembros de datos del botón e inserta la copia en la categoría especificada.

Cuando se inserta el nuevo botón, recibe la notificación OnAddToCustomizePage.

Si el valor de iInsertBefore es -1, el botón se anexa a la lista de categorías; de lo contrario, se inserta antes del elemento con el índice especificado.

Ejemplo

En el siguiente ejemplo se muestra cómo se utiliza el método AddButton de la clase CMFCToolBarsCustomizeDialog. Este fragmento de código forma parte del ejemplo de control 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

Carga un menú de los recursos y llama a CMFCToolBarsCustomizeDialog::AddMenuCommands para agregar ese menú a la lista de comandos de la página Comandos.

BOOL AddMenu(UINT uiMenuResId);

Parámetros

uiMenuResId
[in] Especifica el identificador de recurso de un menú que se va a cargar.

Valor devuelto

Es TRUE si se agregó correctamente el menú; de lo contrario, es FALSE.

Comentarios

En la llamada a AddMenuCommands, bPopup es FALSE. Como resultado, ese método no agrega elementos de menú que contienen submenús a la lista de comandos. Este método agrega los elementos de menú de los submenús a la lista de comandos.

CMFCToolBarsCustomizeDialog::AddMenuCommands

Agrega elementos a la lista de comandos de la página Comandos para representar todos los elementos del menú especificado.

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

Parámetros

pMenu
[in] Puntero al objeto CMenu que se va a agregar.

bPopup
[in] Especifica si se van a insertar los elementos del menú emergente en la lista de comandos.

lpszCategory
[in] Nombre de la categoría que se va a insertar en el menú.

lpszMenuPath
[in] Prefijo que se agrega al nombre cuando el comando se muestra en la lista Todas las categorías.

Comentarios

El método AddMenuCommands recorre en bucle todos los elementos de menú de pMenu. Para cada elemento de menú que no contiene un submenú, este método crea un objeto de la clase CMFCToolBarButton y llama al método CMFCToolBarsCustomizeDialog::AddButton para agregar el elemento de menú como un botón de barra de herramientas a la lista de comandos de la página Comandos. Los separadores se omiten en este proceso.

Si bPopup es TRUE, para cada elemento de menú que contiene un submenú, este método crea un objeto de la clase CMFCToolBarMenuButton y lo inserta en la lista de comandos mediante una llamada a AddButton. De lo contrario, los elementos de menú que contienen submenús no se muestran en la lista de comandos. En cualquier caso, cuando AddMenuCommands encuentra un elemento de menú con un submenú, se llama de forma recursiva, pasando un puntero al submenú como parámetro pMenu y anexando la etiqueta del submenú a lpszMenuPath.

CMFCToolBarsCustomizeDialog::AddToolBar

Carga una barra de herramientas de los recursos. A continuación, para cada comando del menú, llama al método CMFCToolBarsCustomizeDialog::AddButton para insertar un botón en la lista de comandos de la página Comandos en la categoría especificada.

BOOL AddToolBar(
    UINT uiCategoryId,
    UINT uiToolbarResId);

BOOL AddToolBar(
    LPCTSTR lpszCategory,
    UINT uiToolbarResId);

Parámetros

uiCategoryId
[in] Especifica el identificador de recurso de la categoría a la que se va a agregar la barra de herramientas.

uiToolbarResId
[in] Especifica el identificador de recurso de una barra de herramientas cuyos comandos se insertan en la lista de comandos.

lpszCategory
[in] Especifica el nombre de la categoría a la que se va a agregar la barra de herramientas.

Valor devuelto

TRUE si el método se ejecuta correctamente; de lo contrario, FALSE.

Ejemplo

El siguiente ejemplo muestra cómo se usa el método AddToolBar de la clase CMFCToolBarsCustomizeDialog. Este fragmento de código forma parte del ejemplo de WordPad.

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

Comentarios

El control que se usa para representar cada comando es un objeto de la clase CMFCToolBarButton. Después de agregar la barra de herramientas, puede reemplazar el botón por un control de un tipo derivado llamando a CMFCToolBarsCustomizeDialog::ReplaceButton.

CMFCToolBarsCustomizeDialog::CheckToolsValidity

Comprueba la validez de la lista de herramientas de usuario.

virtual BOOL CheckToolsValidity(const CObList& lstTools);

Parámetros

lstTools
[in] Lista de herramientas definidas por el usuario que se van a comprobar.

Valor devuelto

Devuelve TRUE si la lista de herramientas definidas por el usuario es válida; en caso contrario, FALSE. La implementación predeterminada siempre devuelve TRUE.

Comentarios

El marco de trabajo llama a este método para comprobar la validez de los objetos que representan herramientas definidas por el usuario devueltas por CMFCToolBarsCustomizeDialog::CheckToolsValidity.

Invalide el método CheckToolsValidity de una clase derivada de CMFCToolBarsCustomizeDialog si desea validar las herramientas de usuario antes de que el usuario cierre el cuadro de diálogo. Si este método devuelve FALSE cuando el usuario hace clic en el botón Cerrar de la esquina superior derecha del cuadro de diálogo o en el botón con la etiqueta Cerrar en la esquina inferior derecha del cuadro de diálogo, el cuadro de diálogo muestra la pestaña Herramientas en lugar de cerrarse. Si este método devuelve FALSE cuando el usuario hace clic en una pestaña para salir de la pestaña Herramientas, no se produce la navegación. Debe mostrar un cuadro de mensaje adecuado para informar al usuario del problema que provocó un error en la validación.

CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog

Construye un 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] Puntero al marco primario. Este parámetro no debe ser null.

bAutoSetFromMenus
[in] Valor booleano que especifica si se van a agregar los comandos de menú de todos los menús a la lista de comandos de la página Comandos. Si este parámetro es TRUE, se agregan los comandos de menú. De lo contrario, no se agregan los comandos de menú.

uiFlags
[in] Combinación de marcas que afectan al comportamiento del cuadro de diálogo. Este parámetro puede ser uno o más de los siguientes 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
[in] Puntero a una lista de objetos CRuntimeClass que especifican páginas personalizadas adicionales.

Comentarios

El parámetro plistCustomPages hace referencia a la lista de objetos CRuntimeClass que especifican páginas personalizadas adicionales. El constructor agrega más páginas al cuadro de diálogo mediante el método CRuntimeClass::CreateObject. Consulte el ejemplo CustomPages para ver un ejemplo que agrega más páginas al cuadro de diálogo Personalizar.

Para obtener más información sobre los valores que puede pasar en el parámetro uiFlags, consulte CMFCToolBarsCustomizeDialog::GetFlags.

Ejemplo

En el ejemplo siguiente se muestra cómo construir un objeto de la clase CMFCToolBarsCustomizeDialog. Este fragmento de código forma parte del ejemplo 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

Muestra el cuadro de diálogo Personalización.

virtual BOOL Create();

Valor devuelto

TRUE si la hoja de propiedades de personalización se crea correctamente; en caso contrario, FALSE.

Comentarios

Llame al método Create solo después de inicializar completamente la clase.

CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars

Habilita o deshabilita la creación de nuevas barras de herramientas mediante el cuadro de diálogo Personalizar.

void EnableUserDefinedToolbars(BOOL bEnable=TRUE);

Parámetros

bEnable
[in] TRUE para habilitar las barras de herramientas definidas por el usuario; FALSE para deshabilitar las barras de herramientas.

Comentarios

Si bEnable es TRUE, se muestran los botones Nuevo, Cambiar nombre y Eliminar en la página Barras de herramientas.

De manera predeterminada, o si bEnable es FALSE, estos botones no se muestran y el usuario no puede definir nuevas barras de herramientas.

CMFCToolBarsCustomizeDialog::FillAllCommandsList

Rellena el objeto CListBox proporcionado con los comandos de la categoría Todos los comandos.

virtual void FillAllCommandsList(CListBox& wndListOfCommands) const;

Parámetros

wndListOfCommands
[out] Referencia al objeto CListBox que se va a rellenar.

Comentarios

La categoría Todos los comandos contiene los comandos de todas las categorías. El método CMFCToolBarsCustomizeDialog::AddButton agrega el comando asociado al botón proporcionado a la categoría Todos los comandos automáticamente.

Este método borra el contenido del objeto CListBox proporcionado antes de rellenarlo con los comandos de la categoría Todos los comandos.

La clase CMFCMousePropertyPage usa este método para rellenar el cuadro de lista de eventos de doble clic.

CMFCToolBarsCustomizeDialog::FillCategoriesComboBox

Rellena el objeto CComboBox proporcionado con el nombre de cada categoría de comandos en el cuadro de diálogo Personalizar.

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

Parámetros

wndCategory
[out] Referencia al objeto CComboBox que se va a rellenar.

bAddEmpty
[in] Valor booleano que especifica si se van a agregar categorías al cuadro combinado que no tiene comandos. Si este parámetro es TRUE, se agregan categorías vacías al cuadro combinado. De lo contrario, no se agregan categorías vacías.

Comentarios

Este método es similar al método CMFCToolBarsCustomizeDialog::FillCategoriesListBox, excepto que este método funciona con un objeto CComboBox.

Este método no borra el contenido del objeto CComboBox antes de rellenarlo. Garantiza que la categoría Todos los comandos es el último elemento del cuadro combinado.

Puede agregar nuevas categorías de comandos mediante el método CMFCToolBarsCustomizeDialog::AddButton. Puede cambiar el nombre de una categoría existente mediante el método CMFCToolBarsCustomizeDialog::RenameCategory.

Las clases CMFCToolBarsKeyboardPropertyPage y CMFCKeyMapDialog usan este método para clasificar las asignaciones de teclado.

CMFCToolBarsCustomizeDialog::FillCategoriesListBox

Rellena el objeto CListBox proporcionado con el nombre de cada categoría de comandos en el cuadro de diálogo Personalizar.

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

Parámetros

wndCategory
[out] Referencia al objeto CListBox que se va a rellenar.

bAddEmpty
[in] Valor booleano que especifica si se van a agregar categorías al cuadro de lista que no tiene comandos. Si este parámetro es TRUE, se agregan categorías vacías al cuadro de lista. De lo contrario, no se agregan categorías vacías.

Comentarios

Este método es similar al método CMFCToolBarsCustomizeDialog::FillCategoriesComboBox, excepto que este método funciona con un objeto CListBox.

Este método no borra el contenido del objeto CListBox antes de rellenarlo. Garantiza que la categoría Todos los comandos es el último elemento del cuadro de lista.

Puede agregar nuevas categorías de comandos mediante el método CMFCToolBarsCustomizeDialog::AddButton. Puede cambiar el nombre de una categoría existente mediante el método CMFCToolBarsCustomizeDialog::RenameCategory.

La clase CMFCToolBarsCommandsPropertyPage usa este método para mostrar la lista de comandos asociados a cada categoría de comandos.

CMFCToolBarsCustomizeDialog::GetCommandName

Recupera el nombre asociado al identificador de comando especificado.

LPCTSTR GetCommandName(UINT uiCmd) const;

Parámetros

uiCmd
[in] Identificador del comando que se va a recuperar.

Valor devuelto

Nombre asociado al identificador de comando especificado o NULL si el comando no existe.

CMFCToolBarsCustomizeDialog::GetCountInCategory

Recupera el número de elementos de la lista proporcionada que tienen una etiqueta de texto determinada.

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

Parámetros

lpszItemName
[in] Etiqueta de texto que se va a hacer coincidir.

lstCommands
[in] Referencia a una lista que contiene objetos CMFCToolBarButton.

Valor devuelto

Número de elementos de la lista proporcionada cuya etiqueta de texto es igual a lpszItemName.

Comentarios

Cada elemento de la lista de objetos proporcionada debe ser de tipo CMFCToolBarButton. Este método compara lpszItemName con el miembro de datos CMFCToolBarButton::m_strText.

CMFCToolBarsCustomizeDialog::GetFlags

Recupera el conjunto de marcas que afectan al comportamiento del cuadro de diálogo.

UINT GetFlags() const;

Valor devuelto

Conjunto de marcas que afectan al comportamiento del cuadro de diálogo.

Comentarios

Este método recupera el valor del parámetro uiFlags que se pasa al constructor. El valor devuelto puede ser uno o varios de los valores siguientes:

Nombre Descripción
AFX_CUSTOMIZE_MENU_SHADOWS Permite al usuario especificar la apariencia de sombra del menú.
AFX_CUSTOMIZE_TEXT_LABELS Permite al usuario especificar si se muestran etiquetas de texto debajo de las imágenes de botón de barra de herramientas.
AFX_CUSTOMIZE_MENU_ANIMATIONS Permite al usuario especificar el estilo de animación del menú.
AFX_CUSTOMIZE_NOHELP Quita el botón de ayuda del cuadro de diálogo de personalización.
AFX_CUSTOMIZE_CONTEXT_HELP Habilita el estilo visual WS_EX_CONTEXTHELP.
AFX_CUSTOMIZE_NOTOOLS Quita la página Herramientas del cuadro de diálogo de personalización. Esta marca es válida si la aplicación usa la clase CUserToolsManager.
AFX_CUSTOMIZE_MENUAMPERS Permite que los subtítulo de botón contengan el carácter y ( &) .
AFX_CUSTOMIZE_NO_LARGE_ICONS Quita la opción Iconos grandes del cuadro de diálogo de personalización.

Para obtener más información sobre el estilo visual WS_EX_CONTEXTHELP, consulte Estilos extendidos de ventana.

CMFCToolBarsCustomizeDialog::OnAfterChangeTool

Responde a un cambio en una herramienta de usuario inmediatamente después de que se produzca.

virtual void OnAfterChangeTool(CUserTool* pSelTool);

Parámetros

pSelTool
[in, out] Puntero al objeto de herramienta de usuario que se ha cambiado.

Comentarios

El marco de trabajo llama a este método cuando un usuario cambia las propiedades de una herramienta definida por el usuario. La implementación predeterminada no hace nada. Invalide este método en una clase derivada de CMFCToolBarsCustomizeDialog para realizar el procesamiento después de que se produzca un cambio en una herramienta de usuario.

CMFCToolBarsCustomizeDialog::OnAssignKey

Valida los métodos abreviados de teclado a medida que el usuario los define.

virtual BOOL OnAssignKey(ACCEL* pAccel);

Parámetros

pAccel
[dentro, fuera] Puntero a la asignación de teclado propuesta que se expresa como una estructura ACCEL .

Valor devuelto

TRUE si se puede asignar la tecla o FALSE si no se puede asignar la tecla. La implementación predeterminada siempre devuelve TRUE.

Comentarios

Invalide este método en una clase derivada para realizar un procesamiento adicional cuando un usuario asigna un nuevo método abreviado de teclado o para validar los métodos abreviados de teclado a medida que el usuario los define. Para evitar que se asigne un acceso directo, devuelve FALSE. También debe mostrar un cuadro de mensaje o informar de otro modo al usuario del motivo por el que se rechazó el método abreviado de teclado.

CMFCToolBarsCustomizeDialog::OnBeforeChangeTool

Realiza el procesamiento personalizado cuando se cambia una herramienta de usuario cuando el usuario está a punto de aplicar un cambio.

virtual void OnBeforeChangeTool(CUserTool* pSelTool);

Parámetros

pSelTool
[in, out] Puntero al objeto de herramienta de usuario que está a punto de reemplazarse.

Comentarios

El marco de trabajo llama a este método cuando las propiedades de una herramienta definida por el usuario están a punto de cambiar. La implementación predeterminada no hace nada. Invalide el método OnBeforeChangeTool de una clase derivada de CMFCToolBarsCustomizeDialog si desea realizar un procesamiento antes de que se produzca un cambio en una herramienta de usuario, como liberar los recursos que usa pSelTool.

CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage

Inicia un editor de imágenes para que el usuario pueda personalizar un botón de barra de herramientas o un icono de elemento de menú.

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

Parámetros

pWndParent
[in] Puntero a la ventana primaria.

bitmap
[in] Referencia a un objeto de mapa de bits que se va a editar.

nBitsPerPixel
[in] Resolución de color del mapa de bits, en bits por píxel.

Valor devuelto

TRUE si se confirma un cambio; en caso contrario, FALSE. La implementación predeterminada muestra un cuadro de diálogo y devuelve TRUE si el usuario hace clic en Aceptar, o FALSE si el usuario hace clic en Cancelar o en el botón Cerrar.

Comentarios

El marco de trabajo llama a este método cuando el usuario ejecuta el editor de imágenes. La implementación predeterminada muestra un cuadro de diálogo de la clase CMFCImageEditorDialog. Invalide OnEditToolbarMenuImage en una clase derivada para usar un editor de imágenes personalizado.

CMFCToolBarsCustomizeDialog::OnInitDialog

Invalida para aumentar la inicialización de la hoja de propiedades.

virtual BOOL OnInitDialog();

Valor devuelto

Resultado de llamar al método CPropertySheet::OnInitDialog.

Comentarios

Este método extiende la implementación de la clase base, CPropertySheet::OnInitDialog, mostrando el botón Cerrar, asegurándose de que el cuadro de diálogo se ajuste al tamaño de pantalla actual y moviendo el botón Ayuda a la esquina inferior izquierda del cuadro de diálogo.

CMFCToolBarsCustomizeDialog::OnInitToolsPage

Controla la notificación del marco de trabajo que indica que está a punto de inicializarse la página Herramientas.

virtual void OnInitToolsPage();

Comentarios

La implementación predeterminada no hace nada. Invalide este método en una clase derivada para procesar esta notificación.

CMFCToolBarsCustomizeDialog::PostNcDestroy

Lo llama el marco de trabajo después de que se haya destruido la ventana.

virtual void PostNcDestroy();

Comentarios

Este método extiende la implementación de la clase base, CPropertySheet::PostNcDestroy, restaurando la aplicación al modo anterior.

El método CMFCToolBarsCustomizeDialog::Create coloca la aplicación en un modo especial que limita al usuario a las tareas de personalización.

CMFCToolBarsCustomizeDialog::RemoveButton

Quita el botón con el identificador de comando especificado de la categoría especificada o de todas las categorías.

int RemoveButton(
    UINT uiCategoryId,
    UINT uiCmdId);

int RemoveButton(
    LPCTSTR lpszCategory,
    UINT uiCmdId);

Parámetros

uiCategoryId
[in] Especifica el identificador de categoría de la que se va a quitar el botón.

uiCmdId
[in] Especifica el id. de comando del botón.

lpszCategory
[in] Especifica el nombre de la categoría de la que se va a quitar el botón.

Valor devuelto

Índice de base cero del botón quitado o -1 si no se encontró el identificador de comando especificado en la categoría especificada. Si uiCategoryId es -1, el valor devuelto es 0.

Comentarios

Para quitar un botón de todas las categorías, llame a la primera sobrecarga de este método y establezca uiCategoryId en -1.

CMFCToolBarsCustomizeDialog::RenameCategory

Cambia el nombre de una categoría en el cuadro de lista de categorías de la página Comandos.

BOOL RenameCategory(
    LPCTSTR lpszCategoryOld,
    LPCTSTR lpszCategoryNew);

Parámetros

lpszCategoryOld
[in] Nombre de la categoría que se va a cambiar.

lpszCategoryNew
[in] Nuevo nombre de categoría.

Valor devuelto

TRUE si el método se aplicó correctamente; de lo contrario, FALSE.

Comentarios

El nombre de categoría debe ser único.

CMFCToolBarsCustomizeDialog::ReplaceButton

Reemplaza un botón de barra de herramientas en el cuadro de lista de comandos de la página Comandos.

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

Parámetros

uiCmd
[in] Especifica el comando del botón que se va a reemplazar.

botón
[in] Referencia de tipo const al objeto de botón de barra de herramientas que reemplaza el botón anterior.

Comentarios

Cuando CMFCToolBarsCustomizeDialog::AddMenu, CMFCToolBarsCustomizeDialog::AddMenuCommands o CMFCToolBarsCustomizeDialog::AddToolBar agregan un comando a la página Comandos, ese comando tiene la forma de un objeto de la clase CMFCToolBarButton (o un objeto de la clase CMFCToolBarMenuButton de un elemento de menú que contiene un submenú agregado por AddMenuCommands). El marco de trabajo también llama a estos tres métodos para agregar comandos automáticamente. Si desea que un comando se represente mediante un tipo derivado, llame a ReplaceButton y pase un botón del tipo derivado.

Ejemplo

El siguiente ejemplo muestra cómo se usa el método ReplaceButton de la clase CMFCToolBarsCustomizeDialog. Este fragmento de código forma parte del ejemplo de demostración de Visual Studio.

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

CMFCToolBarsCustomizeDialog::SetUserCategory

Especifica qué categoría de la lista de categorías de la página Comandos es la categoría de usuario. Debe llamar a esta función antes de llamar a CMFCToolBarsCustomizeDialog::Create.

BOOL SetUserCategory(LPCTSTR lpszCategory);

Parámetros

lpszCategory
[in] Nombre de la categoría.

Valor devuelto

TRUE si el método se ejecuta correctamente; de lo contrario, FALSE.

Comentarios

Actualmente, el marco de trabajo no usa la configuración de categoría de usuario.

Consulte también

Gráfico de jerarquías
Clases
CPropertySheet (clase)