[MFC] - DLL ressource et CDialogBar & Menu
Re Re Hello,
Maintenant j'ai un autre soucis.
Pour les ressources de toutes les boîtes de dialogues de mon application, les ressources se mettent bien à jour par rapport à ma DLL de ressources.
Dans mon application j'ai un menu et je fais appel à des CDialogBar.
Pour celles-ci les ressources ne se mettent pas à jour par rapport à la DLL.
Auriez vous une petite idée ?
Merci
Alice
Solution pour la partie Menu de l'application
Après réflexion, je viens de trouver la solution au problème du menu :
:arrow: Il suffit de recharger le menu
Détails de la solution :
:arrow: Chargement de la mainFrame avec LoadFrame
:arrow: Chargement de la DLL de ressource adéquate
:arrow: Mise à jour des ressources en générale
:arrow: Chargement d'une instance de menu avec l'identifiant du menu principal de l'application
:arrow: Mise à jour du menu en cours avec un SetMenu de l'instance de menu précédemment chargé
En code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
...
// create main MDI Frame window
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
{
return FALSE;
}
m_pMainWnd = pMainFrame ;
//--------------------------------------------------------------
// Récupération de la librairie à charger
// impose d'utiliser la dll france
WriteProfileInt("Language","SetInEs",true);
// récupération de la langue choisie
m_bFrenchRes=(GetProfileInt("Language","SetInEs",0)==1);
HINSTANCE dll ;
if(m_bFrenchRes)
{
//--------------------------------------------------------------
// chargement de la librairie
dll = LoadLibrary("Pilot3D_Es.dll");
if(dll)
{
//--------------------------------------------------------------
//mise à jour des ressources
AfxSetResourceHandle(dll);
//--------------------------------------------------------------
// mise à jour du menu
CMenu menu ;
menu.LoadMenu(IDR_MAINFRAME) ;
m_pMainWnd->SetMenu(&menu) ;
}
}
.. |
Et là on obtient un joli menu dans la langue souhaitée !
:yaisse2:
Alice
PS : Peut être que pour les CDialogBars chargées au début de l'application, c'est la même chose .... ?