2012-10-09 1 views
0

J'ai mes textes problème dans la mise dans le menu lors de la création de la fenêtre:Set textes CreateFromMenu sur CMFCMenuBar pendant CMDIFrameWndEx :: OnCreate

OnCreate(LPCREATESTRUCT lpCreateStruct) 
{ 
... 
CMFCMenuBar m_wndMenuBar;  
CMenu menu;  
menu.LoadMenu(IDR_MENU_ENGGB); 
m_wndMenuBar.Create(this); 
m_wndMenuBar.CreateFromMenu(menu.GetSafeHmenu(),TRUE,TRUE); 
... 
} 

Mon problème est que l'état précédent est extrait du registre et Je n'ai pas trouvé un moyen de changer la langue à la bonne lors de la création de la fenêtre.

J'ai trouvé que si je vider l'entrée pour l'application dans HKEY_CURRENT_USER \ Software \ "MyApplication" je me débrouille pour obtenir la langue par défaut pour mon application.

Y a-t-il un moyen de choisir quel texte utiliser lors de la création de la fenêtre?

Toutes les suggestions sont grandement appréciées!

Répondre

0

Résolu par overloding LoadState Wich Lodes l'état du registre

HKEY_CURRENT_USER\Software\"MyApplication"\Workspace\MFCToolBar-"id" 

BOOL CVodiaMenuBar::LoadState(LPCTSTR lpszProfileName, int nIndex, UINT uiID) 
{ 
    //CMFCMenuBar::LoadState(lpszProfileName, nIndex, uiID); 
    return TRUE; 
} 

en ne demandant pas le parent mes changements ont été conservés après OnCreate.

Questions connexes