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

  FORUM HardWare.fr
  Programmation
  C++

  Question con : ouvrir ou fermer une boite de dialogue en mfc ??

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Question con : ouvrir ou fermer une boite de dialogue en mfc ??

n°357404
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 10:00:59  profilanswer
 

Comment, à partir d'un autre boite de dialogue, peut on ouvrir ou fermer une boite de dialogue ?
OpenWindow() ? CloseWindow ? Certes, mais sur quoi applique t on ces fonctions ?
Merci :jap:

mood
Publicité
Posté le 10-04-2003 à 10:00:59  profilanswer
 

n°357406
chrisbk
-
Posté le 10-04-2003 à 10:02:24  profilanswer
 

ben tu fais ta dialogue dans l'ed de resources, a cette dialog est associee une classe, tu instance cette classe et tu fais un DoModal() et pis voila

n°357410
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 10:04:22  profilanswer
 

ca c'est pour ouvrir... mais pour fermer ?

n°357415
chrisbk
-
Posté le 10-04-2003 à 10:06:13  profilanswer
 

ben, ta boite se ferme toute seule (eg en reponse a un bouton) ca doit etre ExitWindow() (ou CloseWindow ? ca fait trop long que g plus fait d'interface), non ?

n°357418
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 10:07:08  profilanswer
 

je c pas, je teste, deja domodal ca marche merci...

n°357422
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 10:08:36  profilanswer
 

quand tu cliques sur un bouton de la fenetre recemment ouverte (dans une methode OnBouton par exemple), tu peux directement faire this.ExitWindow() ? a moins que this ne référence rien du tout ????

n°357425
chrisbk
-
Posté le 10-04-2003 à 10:10:08  profilanswer
 

backdafuckup a écrit :

quand tu cliques sur un bouton de la fenetre recemment ouverte (dans une methode OnBouton par exemple), tu peux directement faire this.ExitWindow() ? a moins que this ne référence rien du tout ????  


 
[:mlc]
 
heuh la c'est plus des MFC mais du C++ standart
this->ExitWindow() ou ExitWindow() c pareil

n°357427
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 10:10:37  profilanswer
 

:pfff:

n°357433
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 10:12:59  profilanswer
 

ca marche pas.... exitwindow ne fait pas partie de la classe de ma bd (il doit manquer des include ptet ??), et closewindow ca ferme pas la fenetre, ca la minimise, mais en bas à gauche de l'écran... :/

n°357435
chrisbk
-
Posté le 10-04-2003 à 10:13:45  profilanswer
 

ah ouais merde, le closeWindow :D
 
bon, la lumiere vient de jaillir, c'est EndDialog(IDOK) :O

mood
Publicité
Posté le 10-04-2003 à 10:13:45  profilanswer
 

n°357439
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 10:15:44  profilanswer
 

IDOK c l'id de mon bouton, ou pas ?  :heink:

n°357442
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 10:16:19  profilanswer
 

g rien dit

n°357444
chrisbk
-
Posté le 10-04-2003 à 10:16:56  profilanswer
 

backdafuckup a écrit :

IDOK c l'id de mon bouton, ou pas ?  :heink:  


 
nan, le code de retour, tu met ce que tu veux
si je puis me permettre, et sans vouloir froisser : msdn.microsoft.com

n°357449
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 10:18:58  profilanswer
 

je sais je sais...  
mais chuis un grand flemmard... c tellement plus simple de se faire aider....

n°357450
chrisbk
-
Posté le 10-04-2003 à 10:19:22  profilanswer
 

backdafuckup a écrit :

je sais je sais...  
mais chuis un grand flemmard... c tellement plus simple de se faire aider....


 
:/

n°357451
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 10:19:33  profilanswer
 

en tout cas, grand merci à toi...
Vraiment bien la section C++... toujours plein de gens pour m'aider...  [:twark]

n°357527
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 11:18:29  profilanswer
 

si t encore dans les parages (et la g déja cherché sur msdn, mais g pas trouvé...).
J'aimerais déclarer des variables globales (comme en vb) de type int. Mais n'importe ou où je les mets, ca marche pas (pas tres francais tout ca...). Il y a 7 variables, mais je les utilise dans plusieurs boites de dialogue en fait. Meme en incluant le fichier ou elles sont déclarées, il me met une erreur à la compile "undeclared identifier".. (ca c'est un pb purement c++)...

n°357528
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 10-04-2003 à 11:19:56  profilanswer
 

backdafuckup a écrit :


J'aimerais déclarer des variables globales (comme en vb) de type int. Mais n'importe ou où je les mets, ca marche pas (pas tres francais tout ca...). Il y a 7 variables, mais je les utilise dans plusieurs boites de dialogue en fait.


 
Personne ne te renseignera : Les variables globales : c'est mal :pfff:


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

Tetragrammaton IHVH a écrit :


 
Personne ne te renseignera : Les variables globales : c'est mal :pfff:  


 
ouais taisons nous et lapidons le [:dawa]
 
bon, effectivement, generalement les globales c'est pas terrible, mais allons y quand meme :
tu te fais un fichier .h contenant tes vars globales, precedees d'un "extern"
 
genre :
 

Code :
  1. extern int toto;
  2. extern float roger;


(avec evidemment les includes necessaires)
 
tu fais un nouveau fichier cpp dans lequel tu mets :

Code :
  1. int toto;
  2. float roger;


 
tu inclue le .h dans tous les fichier cpp necessitant les vars globales


Message édité par chrisbk le 10-04-2003 à 11:26:17
n°357536
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 10-04-2003 à 11:27:18  profilanswer
 

chrisbk a écrit :


 
ouais taisons nous et lapidons le [:dawa]
 
bon, effectivement, generalement les globales c'est pas terrible, mais allons y quand meme :
tu te fais un fichier .h contenant tes vars globales, precedees d'un "extern"


 
 :pfff:  :pfff:  :pfff:  
Ah ben bravo, surtout ne l'encourage pas à programmer proprement...  :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°357540
polo021
Posté le 10-04-2003 à 11:28:38  profilanswer
 

fais comme moi. Tu mets ces variables dans le Doc et tu les passes a ta boite modale avant de faire le DoModal()
 
si tu te trouves dans le Doc
 CDlgBte Dlg;
 Dlg.variable1 = variable1;
 Dlg.DoModal();
sinon t'appeles un pointeur sur ton Doc pour aller rechercher les variables a passer a ta boite.
 
EDIT : surtout fais tres gaffe si tu joues avec des pointeurs
 
EDIT : je remercie au passage VisualC pour son aide


Message édité par polo021 le 10-04-2003 à 11:40:21
n°357546
chrisbk
-
Posté le 10-04-2003 à 11:30:15  profilanswer
 

Tetragrammaton IHVH a écrit :


 
 :pfff:  :pfff:  :pfff:  
Ah ben bravo, surtout ne l'encourage pas à programmer proprement...  :sarcastic:  


 
je ne connais pas son pb, je ne sais pas ce qu'il fait, il veut faire des vars globales je lui dit comment faire. Point barre, je suis pas son responsable qualité.

n°357548
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 10-04-2003 à 11:31:02  profilanswer
 

chrisbk a écrit :


 
je ne connais pas son pb, je ne sais pas ce qu'il fait, il veut faire des vars globales je lui dit comment faire. Point barre, je suis pas son responsable qualité.


 
Il n'y a RIEN qui peut justifier l'utilisation de variable globale en POO.
 
(à part un gros patch pour corriger un bug dans l'urgence)


Message édité par Tetragrammaton IHVH le 10-04-2003 à 11:31:55

---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°357550
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 11:32:25  profilanswer
 

:??: en quoi c mal les variables globales ???
On m'a juste dit que les label/goto ct mal, et je comprends que ca puisse vite devenir bordélique, mais les variables globales, c plus qu'utile !!
Faut faire comment sinon ?? je veux pas faire de #define, vu que ces valeurs doivent changer, donc je peux faire comment, messieurs les adeptes de la programmation propre !

n°357551
chrisbk
-
Posté le 10-04-2003 à 11:32:35  profilanswer
 

Tetragrammaton IHVH a écrit :


 
Il n'y a RIEN qui peut justifier l'utilisation de variable globale en POO.
 
(à part un gros patch pour corriger un bug dans l'urgence)


 
ouais

n°357554
chrisbk
-
Posté le 10-04-2003 à 11:33:15  profilanswer
 

backdafuckup a écrit :

:??: en quoi c mal les variables globales ???
On m'a juste dit que les label/goto ct mal, et je comprends que ca puisse vite devenir bordélique, mais les variables globales, c plus qu'utile !!
Faut faire comment sinon ?? je veux pas faire de #define, vu que ces valeurs doivent changer, donc je peux faire comment, messieurs les adeptes de la programmation propre !


 
c'est nul car tu ne peux pas les controler, elles sont modifiable par n'importe qui/n'importe ou. Decrit nous ce que tu veux faire, il y a surement moyen de faire plus propre

n°357561
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 10-04-2003 à 11:36:00  profilanswer
 

backdafuckup a écrit :

:??: en quoi c mal les variables globales ???
On m'a juste dit que les label/goto ct mal, et je comprends que ca puisse vite devenir bordélique, mais les variables globales, c plus qu'utile !!
Faut faire comment sinon ?? je veux pas faire de #define, vu que ces valeurs doivent changer, donc je peux faire comment, messieurs les adeptes de la programmation propre !


 
Lire un bouquin sur la méthode objet (sur l'encapsulation et l'héritage, particulièrement). Ta dialogbox est une classe donc tu peux rajouter des méthodes pour mettre à jour tes variables.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°357562
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 11:36:36  profilanswer
 

ok, j'explique. Mon projet est une application de surveillance d'un matériel électronique (température, tensions, ...).
Seules 7 de ces tensions sont paramétrables (accéssibles en Lecture/Ecriture). J'ai dans mon projet VC++ trois boites de dialogue (la principale, une bd d'identification par passwd et une autre bd servant à paramétrer ces valeurs).
Je dois donc me servir de ces 7 variables dans deux boites de dialogues (et dans trois ou quatre fonctions en tout).
Plus tard, ces valeurs seront sauvegardées ou dans un fichier .ini, ou dans le registre, ca reste à voir.
Ca vous dit quelque chose ?

n°357564
chrisbk
-
Posté le 10-04-2003 à 11:38:12  profilanswer
 

cf methode polo, penche toi sur la classe CDocument

n°357568
polo021
Posté le 10-04-2003 à 11:39:17  profilanswer
 

franchement jette un coup d'oeuil a ce que je t'ai dit. C'est bien pratique surtout si tun'as que quelques boites modale

n°357571
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 11:39:55  profilanswer
 

Tetragrammaton IHVH a écrit :


 
Lire un bouquin sur la méthode objet (sur l'encapsulation et l'héritage, particulièrement). Ta dialogbox est une classe donc tu peux rajouter des méthodes pour mettre à jour tes variables.


 
Tu vois bien, d'après le sujet de mon post, que mes bases (acquises en iut) en POO sont plus que fragiles. J'essaie donc d'appliquer mes propres connaissances en programmation. En VB j'utilisais des variables globales, et j'en voyais l'utilité, car VB n'est pas principalement objet (meme si on peut faire de l'objet avec). Qu'entends tu par mettre à jour mes variables ??
Je veux dire que je n'y ai pas accès si elles sont en private, et en protected, on ne s'en est servi que tres peu en iut (manque de cours et de tp, au profit de langages comme le cobol...)

n°357574
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 11:43:08  profilanswer
 

encore une question con, elle est déclarée ou cette classe CDocument ? C moi qui doit la créer ? Et dans ce cas, dans quel fichier vaut il mieux la créer ?

n°357576
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 10-04-2003 à 11:44:32  profilanswer
 

backdafuckup a écrit :


Je veux dire que je n'y ai pas accès si elles sont en private, et en protected, on ne s'en est servi que tres peu en iut (manque de cours et de tp, au profit de langages comme le cobol...)


 
L'encapsulation (ne laisser accessible de l'exterieur que certaines propriétés d'un objet) est le principe de base de la POO. Si tu ne maitrises pas ça, achète urgemment un bouquin. Tu n'arriveras à rien sans ce minimum.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°357581
backdafuck​up
Back to da old skool
Posté le 10-04-2003 à 11:47:18  profilanswer
 

je relis mes cours, mais c'est vrai que j'ai un peu du mal.
C'est pas facile l'objet, donc j'apprends, petit à petit...
Depuis une semaine que j'ai commencé mon stage, ca commence à revenir, mais difficilement. Le pb, c'est que je bosse sur un projet mfc en ce moment, donc beaucoup de méthodes sont générées automatiquement par vc++.

n°357583
polo021
Posté le 10-04-2003 à 11:48:06  profilanswer
 

backdafuckup a écrit :

encore une question con, elle est déclarée ou cette classe CDocument ? C moi qui doit la créer ? Et dans ce cas, dans quel fichier vaut il mieux la créer ?

:ouch:  
 
C'est ta classe CxxxDoc et xxx = nom de ton projet

n°357587
VisualC++
J'va y penser ...
Posté le 10-04-2003 à 11:51:28  profilanswer
 

Solution propre :
 

Code :
  1. class CVariableElc {
  2. public:
  3.             CVariableElc();
  4.     virtual ~CVariableElc();
  5.     void    m_fnvSetVar1(type var1) { m_var1 = var1; }
  6.     void    .......
  7.     type    m_fnGetVar1() { return var1; }
  8.     type    .......
  9. private:
  10.     type    var1;
  11.     ......
  12. };


 
et tu t'en sert pour la passer ds tes CDialog (genre tu surcharges le constructeur par defaut pour avoir une methode avec un CVariableElc dedans en param)
 
C bcp plus interessant, et tu as qu'un objet a passer et pour les chargement et sauvegarde de la bdr ou .ini ban tu peux rajourter des methodes etc ...
 
 
Edit: fuck manquait ~ pour le destructeur :( lol


Message édité par VisualC++ le 10-04-2003 à 11:58:59
n°357588
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 10-04-2003 à 11:51:29  profilanswer
 

polo021 a écrit :

:ouch:  
 
C'est ta classe CxxxDoc et xxx = nom de ton projet
 


 
Le pb, c'est qu'il n'y a pas de document dans une appli "dialogbox based" :D


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°357592
VisualC++
J'va y penser ...
Posté le 10-04-2003 à 11:52:54  profilanswer
 

Tu chipottes :o

n°357594
polo021
Posté le 10-04-2003 à 11:53:58  profilanswer
 

Tetragrammaton IHVH a écrit :


 
Le pb, c'est qu'il n'y a pas de document dans une appli "dialogbox based" :D


 :heink:  
tu me l'apprends

n°357599
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 10-04-2003 à 11:55:22  profilanswer
 

polo021 a écrit :


 :heink:  
tu me l'apprends


 
bah oui, c'est pour ça que je ne fais jamais d'appli basée sur une dialogbox, ça sux.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

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

  Question con : ouvrir ou fermer une boite de dialogue en mfc ??

 

Sujets relatifs
question precise SERVLET javaOuvrir/fermer l'ensemble des noeuds
Question pour els sondages en PHP[DELPHI] Question très bête !!!
question sur le passage d'un pointeur en paramètreQuestion mysql pour un débutant... RESOLU grace a Mr yvele Merci
Comment créer une boite de dialogue d'info en .exe ?[PHP] Petite question sur 'include'
Plus de sujets relatifs à : Question con : ouvrir ou fermer une boite de dialogue en mfc ??


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