bonjour,

premi�re chose : j'ai lu la FAQ, j'ai appliqu� le principe d'activation/d�sactivation qui y est propos�, et �a marche

(et l� ya tout le monde qui se demande : mais il est b�te lui, �a marche , alors qu'est-ce qu'il nous veut?? )

explication : (ben oui explique, eh bouffon!! )

projet SDI

un certain bouton de ma CToolBar ne doit �tre actif que si une variable membre de mon CDocument ne pointe pas sur NULL.
donc quand je lance mon appli, le bouton est d�sactiv�. j'initialise la variable et le bouton devient actif.

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
//dans la View
 
// Désactivation du bouton Classement de la CToolBar
((CMainFrame*)this->GetParentFrame())->setTestBool(false);
 
// Effacement de l'ancienne compétition si elle existait
if (GetDocument()->getCompetition()!=NULL)
{
	delete GetDocument()->getCompetition();
	GetDocument()->setCompetition(NULL);
}
 
... // initialisation de ma variable
 
// Activation du bouton Classement de la CToolBar
((CMainFrame*)this->GetParentFrame())->setTestBool(true);
maintenant, si j'ouvre un fichier de donn�es, je voudrais que l'�tat de mon bouton change en fonction de ce qui se trouve dans le fichier : si la variable est NULL, on d�sactive le bouton, si on a pu lui donner une valeur, on active le bouton.

idem si je fais fait Nouveau ---> ma variable = NULL, le bouton doit �tre d�sactiv�

le probl�me c'est que je ne sais pas o� tester ma variable et changer l'�tat du bouton.

- dans mon CDocument, lors de la s�rialisation ??
----> comment changer la valeur du bool�en de la MainFrm qui donne l'�tat du bouton ??

- dans mon CFormView, dans le OnInitialUpdate() ??

merci pour vos lumi�res

(d'ailleurs, peut-on m'expliquer quand intervient le OnInitialUpdate?
quand j'appuis sur Nouveau, c'est appel�. mais quand j'appuis sur Ouvrir ou Sauvegarder?)