Update et Redraw Window

crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 - 3 avril 2003 à 17:20
crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 - 4 avril 2003 à 11:11
Salut,

Dans une appli MDI, je cherche a rafraichir toutes les fenetres fille en une seul fois. J'ai essayé comme suit mais ca ne ma rafraichis que la fenetre active :

CFrameWnd* pFrameWnd = STATIC_DOWNCAST(CFrameWnd, AfxGetMainWnd());
CChildFrame* childframe = (CChildFrame*) pFrameWnd->GetActiveFrame();
childframe->UpdateWindow();
childframe->RedrawWindow();

Comment faire pour tout rafraichir ???

merci, Hart

(aussi, petite question, comment je fait pour mon appli bilingue, est-il possible de mettre des ressource (string) dans une dll et d'aller les chercher au moment de l'execution ? un peut comme des plugin langue ...merci...)

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 avril 2003 à 17:34
Je te parle juste des ressources, va bon dans une dll mais ce ne sera surement pas la version la plus rapide en chargement. Je te propose plutot des fichiers separes de langue contenant les chaines, sera + rapide.
La plupart des grosses appli font ainsi et ont bien raison.
BruNews, ciao...
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
3 avril 2003 à 19:58
Pour ta deuxième question oui c'est possible et je préfére ta solution (mettre dans une DLL le fichier ressource, c'est standard) que la version de BruNews. Car il n'y a pas que des chaines de caractères à traduire mais aussi les boites de dialogues, les menus, ... .

Kaid - kaid.fr.st
0
crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 1
4 avril 2003 à 08:07
Je veut bien mettre les ressources dans une dll mais comment je fait pour appeler ces ressources depuis mon prog et pour pouvoir changer la langue dans mon prog ?
Hart
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
4 avril 2003 à 10:55
Je pense que tu as déjà vu que dans les fonctions LoadMenu(), LoadString(), ..., tu peux passer le instance handle du fichier qui contient la ressource. Soit tu passes l'instance handle du fichier courant, soit l'instance handle de la DLL.

Bon, je vais faire une source pour l'expliquer, ca sera certainement plus simple :-).

Kaid - kaid.fr.st
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
4 avril 2003 à 10:56
Si sont mises en ressources vraiment:
LoadResource() et sa suite....
Sinon exporte func qui retournerait un pointeur sur une structure de donnees remplie correctement par langue.
Les solutions ne manquent pas.
BruNews, ciao...
0
crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 1
4 avril 2003 à 11:11
J'ai trouver vraiment par hasard :

HINSTANCE hInst = LoadLibrary("Anglais.dll");
if (hInst != NULL)
AfxSetResourceHandle(hInst);

Ca fonctionne bien. J'ai créé une dll avec toutes mes ressources et ca a l'air de vouloir marcher. maintenant il faut voir sur le long terme, car il faut que je mette a jour chaque ressoucres que je modifie, mais je ne pense pas que l'on puisse faire autrement.
C'est une solution simple et assez rapide a mettre en oeuvre.
Qu'en pensez vous, kaid et brunews

Hart
0
Rejoignez-nous