Bonjour,
Sûrement une question simple, dans une appli VC++ 6.0 de type "Dialog based", comment récupérer dans une classe perso le pointeur sur l'objet de type classe CAppliDlg pour accéder à une de ses méthode membre ?
Merci d'avance
Bonjour,
Sûrement une question simple, dans une appli VC++ 6.0 de type "Dialog based", comment récupérer dans une classe perso le pointeur sur l'objet de type classe CAppliDlg pour accéder à une de ses méthode membre ?
Merci d'avance
salut,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 static_cast<CAppliDlg *>(AfxGetApp())->MyFunc();![]()
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++.
Apparement cela me pose un pb.
1) Permier essai : j'ai ajouté ta ligne en remplaçant CAppliDlg avec le nom de ma classe de type CDialog :
et j'obtiens le message d'erreur suivant (CConvFGP est le nom réel de ma classe CDialog ):
Code : Sélectionner tout - Visualiser dans une fenêtre à part static_cast<CConvFGPDlg *>(AfxGetApp())->InsertListBoxMsg(&csMessage);
Aussi, j'ai tenté d'ajouter dans le fichier .h de ma classe perso la ligne suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part syntax error : identifier 'CConvFGPDlg'
J'obtiens un nouveau message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part class CConvFGPDlg;
Une idée ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part 'static_cast' : cannot convert from 'class CWinApp *' to 'class CConvFGPDlg *'
exemple parfait de l'utilité du static_cast...
tu m'a demandé de recuperer le pointeur sur ta classe d'application ,c'est ce que j'ai écris.
le reste je ne sais pas ce que tu fais ...
une chose est sûre ta classe CConvFGPDlg n'est pas la classe d'application d'ou l'erreur indiquée par le static_cast...
![]()
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++.
J'ai crée une application MFC, simple, de type "Dialog based".
Mon projet s'appelle ConvFGP.
Deux classes ont donc été créées automatiquement :
CConvFGPApp Ma classe Application
CConvFGPDlg La classe associée à ma boite de dialogue.
Dans cette dernière j'ai ajouté une méthode qui s'appelle InsertListBoxMsg() qui permet d'insérer des messages dans un contrôle de type CListBox.
J'ai crée une classe perso de traitement de fichiers "CFichierFGP" au sein de laquelle je souhaite effectuer des mises à jour sur le contrôle CListBox de ma boite de dialogue en appelant sa méthode InsertListBoxMsg().
Suis je assez clair ?
oui, pour disposer de la classe fenetre de l'application pour une application boite de dialogue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 static_cast< CConvFGPDlg *>(AfxGetMainWnd())->InsertListBoxMsg(&csMessage);![]()
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++.
Ca passe.
j'ai eu quelques soucis mais je n'avais pas ajouté l'include du fichier "ConvFGPFlg.h en en-tête de ma classe CFichierFGP.
Merci encore.
Partager