Cambiar los textos de una barra de titulo
Supongamos un programa multidioma y al iniciarlo queremos que cambie la barra de menu dependiendo del idioma que escoja el usuario.
Asi pues definimos el elemento menu y un array para pasarle el texto. Tenemos declarado como manejador principal de la ventana la variable hWndPrincipal. Es el manejador que usamos cuando creamos la ventana principal.
MENUITEMINFO infoMenu;
char menutxt[256];
Ahora seteamos la estructura del menu a nuestro gusto insertandole el texto deseado.
strcpy(menutxt, "Archivo");
infoMenu.fMask = (MIIM_TYPE);
infoMenu.dwTypeData = menutxt;
infoMenu.cch = strlen(menutxt);
infoMenu.fType = MFT_STRING;
infoMenu.cbSize = sizeof(MENUITEMINFO);
SetMenuItemInfo(GetMenu(hWndPrincipal), 0, TRUE, &infoMenu);
En este ejemplo he pasado directamente la palabra “Archivo” pero podria haberla declarado en la tabla de strings y cargarla con LoadString.
LoadString(hInst, ESP_MENU_FILE, Menu_File, MAX_LOADSTRING);
strcpy(menutxt, Menu_File);
Siendo hInst, la instancia de la aplicación, ESP_MENU_FILE, la entrada en la talba de strings y Menu_File una variable. Tambien indicar que el 0 indica la posición del elemento en la barra de menu.
Para los submenus el proceso es identico a cualquier elemento, ya que cada submenu es un elemento diferenciado de la aplicación
SendDlgItemMessage(hDlg, IDC_SUBMENU1, WM_SETTEXT, NULL, (LPARAM) "Nuevo");
Siendo hDlg el manejador de la ventana y IDC_SUBMENU1 el elemento submenu a tratar.





