C/Visual C - Menú

 
Vista:

Menú

Publicado por nestlé (10 intervenciones) el 23/01/2001 00:00:00
Hola. Necesito cambiar ciertas propiedades como Caption o checked de algunos item dentro de un menú q tengo asociado a un diálogo. Tampoco me aparece la línea de separación q hay debajo de todos los menús. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Modificar propiedades y agregar línea de separación en un menú asociado a un diálogo

Publicado por Alejandro (913 intervenciones) el 04/09/2024 23:24:12
1. Obtén el puntero al menú asociado al diálogo. Puedes hacerlo utilizando la función `GetMenu` y pasando como parámetro el identificador del menú o el puntero al diálogo.

2. Utiliza la función `GetSubMenu` para obtener el puntero al submenú específico dentro del menú principal. Puedes pasar como parámetro el índice del submenú que deseas modificar.

3. Utiliza la función `ModifyMenu` para cambiar las propiedades del elemento del menú. Puedes pasar como parámetros el identificador del elemento, las nuevas opciones de visualización (como `MF_CHECKED` para marcar el elemento) y el nuevo texto del elemento.

4. Para agregar una línea de separación debajo de un elemento del menú, puedes utilizar la función `InsertMenu` o `AppendMenu` con la opción `MF_SEPARATOR`.

Aquí tienes un ejemplo de código que ilustra cómo cambiar las propiedades de los elementos del menú y agregar una línea de separación.

1
2
3
4
5
6
7
8
9
10
11
// Obtener el puntero al menú asociado al diálogo
HMENU hMenu = GetMenu(hWnd);
 
// Obtener el puntero al submenú específico dentro del menú principal
HMENU hSubMenu = GetSubMenu(hMenu, indiceSubMenu);
 
// Cambiar las propiedades del elemento del menú
ModifyMenu(hSubMenu, indiceElemento, MF_BYPOSITION | MF_STRING | MF_CHECKED, identificadorElemento, "Nuevo texto");
 
// Agregar una línea de separación debajo de un elemento del menú
InsertMenu(hSubMenu, indiceElemento + 1, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);

Recuerda reemplazar `hWnd` con el identificador del diálogo, `indiceSubMenu` con el índice del submenú que deseas modificar, `indiceElemento` con el índice del elemento dentro del submenú que deseas cambiar, `identificadorElemento` con el identificador único del elemento y "Nuevo texto" con el texto que deseas mostrar en el elemento del menú.

Espero que esta información te sea útil. ¡Buena suerte con tu proyecto, Nestlé!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar