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
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 títulos 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.
mapa de bits
[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.