Acceder aux champs d'une CFormView - C++ - Programmation
Marsh Posté le 31-01-2005 à 21:19:31
pour ta CDialog, créé un constructeur qui prendra en paramètre un pointeur vers la CFormView courante :
Code :
|
j'ai créé un constructeur de CMyDialog qui prend un pointeur vers une CMyFormView.
afin d'accéder aux variables de CMyFormView souhaitées, j'ai créé un accesseur (SetValue() ), qui permet d'éviter de déclarer les variables membre en public (sécurité accrue)
Marsh Posté le 01-02-2005 à 20:04:13
Merci pour ta reponse!!!
Mais en fait, je créé ma boîte de dialogue dans une fonction associée au menu de la fenêtre principale, donc associée à la classe CMainFrame.
Code :
|
Voila!!
Et donc la je lance ma boite de dialogue.
J'ai essayé de créer un pointeur CMyFormView * dans cette fonction mais je me fais jetter si je rafoute le *.h de la FormView dans un autre cpp.
La fonction CallDialog que tu as créé elle appartient à la FormView et vu que je suis dans la classe CMainFrame je peus pas l'appeler.
Ensuite, lorsque j'essaye de créer un constructeur pour ma boîte de dialogue avec en parametre un pointeur sur ma CFormView et ben il me jette pas, mais j'ai pas accé à mes champs pour autant.
Code :
|
Comment fait on pointer CMyFormView * MyFormView vers la CFormView.
J'ai essayé un GetParent(), sans succés.
Enfin bon, je vois pas comment pointer sur cette maudite fenêtre principale et faire en sorte que lorsque je code et que j'appelle la flêche("->" ) il me mette toute les variables de la CFormView.
J'espere avoir était assez clair
Merci encore
Marsh Posté le 01-02-2005 à 20:20:47
Pepedimancho a écrit : Merci pour ta reponse!!! |
Ce n'est pas du tout une obligation de l'associer à CMainFrame. Sous VS .NET, l'assistant de création d'évènement pour le menu te permet de choisir la classe dans laquelle tu souhaites traiter l'évènement du menu.
Pepedimancho a écrit : |
Créer un pointeur vers un CMyFormView ne sert à rien, tu dois récupérer le "this" et pas autre chose.
tip : pour récupérer le mainframe de ton application :
Code :
|
pour ensuite récupérer la CMyFormView associée au mainframe :
Code :
|
Pepedimancho a écrit :
|
As tu lu ma réponse précédente ?
Pour accéder à tes champs, il est largement mieux de créer des accesseurs plutot que de rendre tes champs publics.
Pepedimancho a écrit : |
Une CMyFormView est une CFormView, tu peux donc utiliser un pointeur vers une CMyFormView pour pointer vers une CFormView sans utiliser de cast.
Marsh Posté le 31-01-2005 à 16:50:30
Salut tout le monde!!
Voici mon problème , je voudrais accéder aux variables menbres de ma classe CFormView lorsque que je suis dans une autre classe(par exemple une CDialog).
En effet je voudrais lorsque je modifie une variable de ma CDialog copier la valeur de cette variable dans le champ de ma CFormView.
J'ai essayé de créer une fonction qui permet d'accéder au champ de la CFormView, mais pour pouvoir utiliser cette fonction dans la classe CDialog il faut créer un objet CFormView, et là il me jette.
Voila, j'espère que j'ai été assez clair