Bonjour à tous,
j'aurai voulu savoir s'il était facilement possible de sauvegarder l'état des composants d'une inteface (edit, ...) afin de recharger les valeurs en l'état après une fermeture de l'application ??
Bonjour à tous,
j'aurai voulu savoir s'il était facilement possible de sauvegarder l'état des composants d'une inteface (edit, ...) afin de recharger les valeurs en l'état après une fermeture de l'application ??
salut,
c'est quoi l'etat pour toi ? le contenu des composants ?
il suffit de serialiser le contenu .
serialisation voir faq .
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
en fait je voudrais sauvegarder la valeur d'un CEdit, la position d'un CWButton, la selection d'un combobox, ...
puis recharger la sauvegarde pr que l'utilisateur n'est pas tout à ce refaire après chaque relance du logiciel.
tu as un exemple de sauvegarde des controles dans le projet associé a mon tuto :
http://farscape.developpez.com/Samples/SampleSDI.zip
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
slt
en fait ce que je viudrais, c avoir une boucle qui scrute tous les composants de ma CDialog et pour chaque type de composant faire une action.
exemple : si je détecte que le composant est un CEdit, je choisis te sauver la valeur saisie ou si je détecte que le composant est un CWButton je sauve son état etc ...
en fait, il faudrait
- lister les composants de la CDialog
- détecter son type (CEdit, ...)
- sauvegarder ce que l'on veut selon le cas (valeur texte) et l'ID (pour faire la manip inverse)
ce que je ne sais pas trop , comment lister tous les composants et connaitre leur type ?
salut,
voila un exemple de parcours des contrôles d'une dialogue:
cette fonction régle tous les statics de la boite de dialogue en gras.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 void CTestDlgDlg::MettreStaticEnGras() { char szClassName[100]; bool bFirst=true; LOGFONT LogFont; if(!/*CFont */m_NewFont.m_hObject) { GetFont()->GetLogFont(&LogFont); LogFont.lfWeight = FW_BOLD; LogFont.lfHeight = -24; m_NewFont.CreateFontIndirect(&LogFont); } CWnd *pCtrl=GetWindow(GW_CHILD); while(pCtrl) { if(!bFirst) pCtrl = pCtrl->GetWindow(GW_HWNDNEXT); bFirst=false; if(pCtrl) { ::GetClassName(pCtrl->GetSafeHwnd(),szClassName,sizeof(szClassName)); if(!strcmp(szClassName,"Static")) { pCtrl->SetFont(&m_NewFont,FALSE); pCtrl->Invalidate(); } } } }
GetClassName permet de recuperer la classe du contrôle .
edit pour un CEdit etc ...
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
meri bien à toi![]()
je vais essayer de mettre au point !
a+
slt
j'ai suvi ton exemple mais en voulant aller un peu plus loin, je bloque sur un truc![]()
en fait j'aurai voulu avoir en paramètre la possibilité de choisir sur quelle CDialog de mon projet je scrute les composants.
Peux-tu m'indiquer la manip ? (ça doit être de faire pointer pCtrl sur la CDialog voulue)
salut,
et bien il suffit sur le parcours de depart de faire:
ou pDlgSrc est le pointeur sur la dialogue a parcourir....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CWnd *pCtrl=pDlgSrc->GetWindow(GW_CHILD);
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
c bien ce que j'avais essayé !
mais le p'tit soucis ce que je ne vois que les composants qui ont une variable associé et pas les autres![]()
est-ce normal ? ou y a t'il une autre subtilié ?
quel types de controles sont ignorés ?
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
les controles sur lesquels je n'ai pas créé de variables : CEdit, CWButton
mais que j'accède via leurs ID
en réalité pr le CEdit c OK et pr le CWButton c plutot AfxOleControl42 que je dois recherché comme nom de class![]()
merci encore pr ton aide précieuse !
Partager