Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
975 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [MFC] recuperer un ptr sur Doc dans CxxxApp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MFC] recuperer un ptr sur Doc dans CxxxApp

n°360110
polo021
Posté le 14-04-2003 à 09:06:38  profilanswer
 

Ben tout est dans le titre je pense. Je voudrais recuperer un pointeur sur mon Document dans la methode InitInstance de la classe CxxxApp pour m'en servir pour la suite. Comment est ce que je dois faire.? Et une autre question aussi.
 
Est ce que c'est un bon style de programmation de lancer la premiere boite modale (qui est a la base de toutes les autres dans le programme) a partir de la methode InitInstance de CxxxApp?
 
Merci


Message édité par polo021 le 14-04-2003 à 09:29:01
mood
Publicité
Posté le 14-04-2003 à 09:06:38  profilanswer
 

n°360114
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 14-04-2003 à 09:14:18  profilanswer
 

polo021 a écrit :

Ben tout est dans le titre je pense. Je voudrais recuperer un pointeur sur mon Document dans la methode InitInstance de la classe CxxxApp pour m'en servir pour la suite. Comment est ce que je dois faire.? Et une autre question aussi.


Tu as la méthode GetDocument(), membre de la classe CView. Comme tu possèdes un document, je suppose que tu créé une application document/vue, et donc que tu possèdes une CxxxView associée.  
 

polo021 a écrit :


Est ce que c'est un bon style de programmation de lancer la premiere boite modale (qui est a la base de toutes les autres dans le programme) a partir de la methode InitInstance de CxxxApp?


Je vois pas ou est le problème. Etant donné que la programmation MFC agit comme ceci, on peut supposer que Microsoft sait ce qu'il fait, en tant que créateur des MFC et de Windows...


---------------
J'ai un string dans l'array (Paris Hilton)
n°360119
polo021
Posté le 14-04-2003 à 09:21:28  profilanswer
 

Harkonnen a écrit :


Tu as la méthode GetDocument(), membre de la classe CView. Comme tu possèdes un document, je suppose que tu créé une application document/vue, et donc que tu possèdes une CxxxView associée.  


oui mais alors pour recuperer un pointeur sur ma vue?
CxxxView* ptr_view = ????;
 

Harkonnen a écrit :


Je vois pas ou est le problème. Etant donné que la programmation MFC agit comme ceci, on peut supposer que Microsoft sait ce qu'il fait, en tant que créateur des MFC et de Windows...

:(  
 

n°360130
VisualC++
J'va y penser ...
Posté le 14-04-2003 à 09:29:54  profilanswer
 

Si tu as un doc/vue regarde du cote des DocTemplate qui est cree ds ton App

n°360132
VisualC++
J'va y penser ...
Posté le 14-04-2003 à 09:30:53  profilanswer
 

Harkonnen a écrit :


Je vois pas ou est le problème. Etant donné que la programmation MFC agit comme ceci, on peut supposer que Microsoft sait ce qu'il fait, en tant que créateur des MFC et de Windows...


 
Oui bon quand mm c de Ms la que tu parles ;)

n°360152
polo021
Posté le 14-04-2003 à 09:52:49  profilanswer
 

VisualC++ a écrit :

Si tu as un doc/vue regarde du cote des DocTemplate qui est cree ds ton App  


je crois que je vais choisir la facilite et pas m'embeter avec ca.
Je vais tout simplement tenter de mettre toutes les variables que j'avais dans mon Document dans la classe CxxxApp et donc me servir de cette classe comme de mon document [:spamafote]


Message édité par polo021 le 14-04-2003 à 09:53:11
n°360376
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 14-04-2003 à 13:52:48  profilanswer
 

polo021 a écrit :

Ben tout est dans le titre je pense. Je voudrais recuperer un pointeur sur mon Document dans la methode InitInstance de la classe CxxxApp pour m'en servir pour la suite. Comment est ce que je dois faire.? Et une autre question aussi.
 
Est ce que c'est un bon style de programmation de lancer la premiere boite modale (qui est a la base de toutes les autres dans le programme) a partir de la methode InitInstance de CxxxApp?
 
Merci


 
Au moment de l'InitInstance, le document et la vue ne sont pas encore initialisés donc mauvais endroit. Cette méthode sert à faire les initialisations uniques de l'application. Si tu veux faire des initialisations à chaque nouveau document : CDocument:: OnNewDocument() ou alors CView::InitalUpdate()
 
 
Quant à mettre le document dans la classe application : :vomi:


Message édité par Tetragrammaton IHVH le 14-04-2003 à 13:53:42

---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°360383
polo021
Posté le 14-04-2003 à 14:01:10  profilanswer
 

Tetragrammaton IHVH a écrit :


 Si tu veux faire des initialisations à chaque nouveau document : CDocument:: OnNewDocument() ou alors CView::InitalUpdate()


 
Je ne fais jamais de nouveau document. L'utilisateur n'a pas le choix, il execute le .exe et le programme demarre, lance la 1ere boite modale (pour son user_ID) et si il est bon on enchaine vers une trentaine d'autres boites modale sinon on le laisse reentrer son userID jusqu'a ce qu'il soit bon.
 
C'est pour cela que je cherche a lancer la boite de saisie du login directement au demarrage de l'application (sans que l'utilisateur ne doive cliquer sur un bouton ou dans un menu).  
Si quelqu'un a une idee...  :jap:
 
EDIT : et puis pour le document dans l'application, je me suis mal exprime, ce n'est pas ca que je voulais dire. Mais tout simplement mettre mes variables principales dans la classe CxxxApp au lieu de les mettre dans le document.


Message édité par polo021 le 14-04-2003 à 14:02:29
n°360388
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 14-04-2003 à 14:05:32  profilanswer
 

polo021 a écrit :


 
Je ne fais jamais de nouveau document. L'utilisateur n'a pas le choix, il execute le .exe et le programme demarre, lance la 1ere boite modale (pour son user_ID) et si il est bon on enchaine vers une trentaine d'autres boites modale sinon on le laisse reentrer son userID jusqu'a ce qu'il soit bon.
 
C'est pour cela que je cherche a lancer la boite de saisie du login directement au demarrage de l'application (sans que l'utilisateur ne doive cliquer sur un bouton ou dans un menu).  
Si quelqu'un a une idee...  :jap:
 
EDIT : et puis pour le document dans l'application, je me suis mal exprime, ce n'est pas ca que je voulais dire. Mais tout simplement mettre mes variables principales dans la classe CxxxApp au lieu de les mettre dans le document.


 
1) Pour ton idée, je t'ai donné la solution
 
2) pourquoi fais-tu une appli SDI si c'est pour ne pas utiliser le framework des MFC ?  :pt1cable: Recode tout depuis le début... :sarcastic:


Message édité par Tetragrammaton IHVH le 14-04-2003 à 14:13:37

---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°360395
polo021
Posté le 14-04-2003 à 14:12:17  profilanswer
 

Tetragrammaton IHVH a écrit :


pourquoi fais-tu une appli SDI si c'est pour ne pas utiliser la framework des MFC ?  


 
Tu peux m'expliquer ce que ca veut dire?

mood
Publicité
Posté le 14-04-2003 à 14:12:17  profilanswer
 

n°360402
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 14-04-2003 à 14:17:41  profilanswer
 

polo021 a écrit :


 
Tu peux m'expliquer ce que ca veut dire?


 
 :sarcastic:


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°360403
polo021
Posté le 14-04-2003 à 14:20:51  profilanswer
 

oui ma question etait idiote, j'en conviens.
 
Mais que veux tu que j'utilise comme "type" d'application si ce n'est SDI? Et en sachant que je developpe pour windows CE avec Microsoft eMbedded Visual 3.0?
 
Je pourrais faire un Dialog Box based application mais j'avais commence avec une SDI application et j'ai deja fait pas mal de trucs dedans , je n'ai pas non plus de gros problemes insurmontables donc je ne vois pas trop l'utilite de recommencer tout en dialog based.
 
Si tu en vois une tu peux toujours m'en faire part.
 
Je pense au contraire qu'une application est beaucoup plus difficile a mettre en oeuvre en dialog based application que en SDI
http://forum.hardware.fr/forum2.ph [...] h=&subcat=


Message édité par polo021 le 14-04-2003 à 14:33:26
n°360424
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 14-04-2003 à 14:36:50  profilanswer
 

polo021 a écrit :


 
Je pense au contraire qu'une application est beaucoup plus difficile a mettre en oeuvre en dialog based application que en SDI


 
Non, les appli dialog based, c'est nul.
 
Mais perso, je ne vois pas l'interet de creer une appli SDI si c'est pour ne pas utiliser ses avantages fournis avec (archi document/vue) et se faire chier avec des sales bidouilles du genre, mettre des infos dans le CWinApp alors qu'il serait plus simple de les mettre dans le CDocument.
 
Mais bon, c'est toi qui code donc tu dois mieux savoir que moi.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°360448
polo021
Posté le 14-04-2003 à 14:52:02  profilanswer
 

Tetragrammaton IHVH a écrit :


 
Non, les appli dialog based, c'est nul.
 
Mais perso, je ne vois pas l'interet de creer une appli SDI si c'est pour ne pas utiliser ses avantages fournis avec (archi document/vue) et se faire chier avec des sales bidouilles du genre, mettre des infos dans le CWinApp alors qu'il serait plus simple de les mettre dans le CDocument.
 
Mais bon, c'est toi qui code donc tu dois mieux savoir que moi.


 
voila on y arrive. Au depart je ne voulais pas mettre de variable dans CxxApp mais bien dans le document. Mais comme je te l'ai dis, je voudrais bien qu'une boite de dialogue apparaisse d'entree a l'execution de mon programme donc on m'a conseille InitInstance de CxxxApp. Or dans cette fameuse premiere boite de dialogue je me sers d'une variable que j'ai mis dans mon document donc ma question etait (titre du topic) comment recuperer un ptr sur doc a partir de initinstance.
Et comme personne ne savait, je me suis dis que j'allais la mettre dans la classe CxxxApp au lieu de la mettre dans mon document.  
 
Tu saisis mieux maintenant?  ;)

n°360453
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 14-04-2003 à 14:55:32  profilanswer
 

polo021 a écrit :


 
voila on y arrive. Au depart je ne voulais pas mettre de variable dans CxxApp mais bien dans le document. Mais comme je te l'ai dis, je voudrais bien qu'une boite de dialogue apparaisse d'entree a l'execution de mon programme donc on m'a conseille InitInstance de CxxxApp. Or dans cette fameuse premiere boite de dialogue je me sers d'une variable que j'ai mis dans mon document donc ma question etait (titre du topic) comment recuperer un ptr sur doc a partir de initinstance.
Et comme personne ne savait, je me suis dis que j'allais la mettre dans la classe CxxxApp au lieu de la mettre dans mon document.  
 
Tu saisis mieux maintenant?  ;)  


 
Et pour la 25000ième fois, je t'ai dit d'appeler ta dialogbox dans le CView::InitialUpdate() (où tu peux accéder à GetDocument(). Dis moi, comprends-tu ce que tu lis ?  :sarcastic:
 
Bon, il vaut mieux abandonner...


Message édité par Tetragrammaton IHVH le 14-04-2003 à 14:57:46

---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°360473
polo021
Posté le 14-04-2003 à 15:04:29  profilanswer
 

arg vraiment desole
t'avais ecrit

Citation :


Si tu veux faire des initialisations à chaque nouveau document : CDocument:: OnNewDocument() ou alors CView::InitalUpdate()


 
et je suis parti sur le newdocument en oubliant completement ta deuxieme proposition.
[:sisicaivrai]
 
ben je m'en vais essayer ca alors.
 
Merci pour ta patience  :love:  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [MFC] recuperer un ptr sur Doc dans CxxxApp

 

Sujets relatifs
[MFC ] [Resolu] clique sur CLIstCtrl[C] récupérer un entier sur 2 octets dans un fichier [résolu]
[PHP]Récuperer le résultat d'un SUM en PHP ?ACCESS requete pour recuperer une sorte d'"intevalle"
Récuperer un HWND d'un HINSTANCE ?Progress bars [MFC C++]
Probleme fichier + MFCMFC appli qui plante
Recuperer le path d'un argumentSQL Server : récupérer les enregistrements n à m, problème
Plus de sujets relatifs à : [MFC] recuperer un ptr sur Doc dans CxxxApp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR