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

  FORUM HardWare.fr
  Programmation
  C

  Appel d'une CDialog en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Appel d'une CDialog en C

n°1231407
kanabzh29
Padme c'est ma mienne
Posté le 26-10-2005 à 12:17:08  profilanswer
 

Bonjour,
 
Je n'arrive pas à appeler une CDialog en language C.
 
Je suis en une première fenètre qui exécute un programme et quand se programme se termine j'aimerais que cela appel une autre CDialog, voila le code que je met :
 
IDD_CHOIXTEST Dlg;
DoModal();
 
 
et la il me met dans le listing des erreurs:
 
D:\Projet-BTS\prog_mfc\Performance\PerformanceDlg.cpp(135) : error C2146: syntax error : missing ';' before identifier 'Dlg'
D:\Projet-BTS\prog_mfc\Performance\PerformanceDlg.cpp(135) : error C2065: 'Dlg' : undeclared identifier
 
pourriez vous m'aider. Merci d'avance.

mood
Publicité
Posté le 26-10-2005 à 12:17:08  profilanswer
 

n°1231477
godbout
Génial.
Posté le 26-10-2005 à 13:48:44  profilanswer
 

kanabzh29 a écrit :


D:\Projet-BTS\prog_mfc\Performance\PerformanceDlg.cpp(135) : error C2146: syntax error : missing ';' before identifier 'Dlg'


 
Ton type IDD_CHOIXTEST n'est pas reconnu.
Il faut que ton type soit déclaré quelque part. Inclus le fichier .h nécessaire.
 

kanabzh29 a écrit :


D:\Projet-BTS\prog_mfc\Performance\PerformanceDlg.cpp(135) : error C2065: 'Dlg' : undeclared identifier


Ca, ça résulte de ta première erreur. Une fois qu'elle sera corrigée, celle-ci disparaîtra.

n°1231478
chrisbk
-
Posté le 26-10-2005 à 13:50:05  profilanswer
 

heuh bin IDD_CHOIX test c'est pas un type, c'est (a priori) un #define sur un int (d'ou IDD : ID Dialog, comme IDC : ID Control, IDA : ID alacon)
 
Ca sent l'odieux bricolage, ton truc, la, t'as du salement t'empetré dans des trucs machins

Message cité 1 fois
Message édité par chrisbk le 26-10-2005 à 13:50:35
n°1231485
Mackila
Posté le 26-10-2005 à 13:53:42  profilanswer
 

chrisbk a écrit :

[...]
Ca sent l'odieux bricolage, ton truc, la, t'as du salement t'empetré dans des trucs machins


Ca c'est précis :D

n°1231496
chrisbk
-
Posté le 26-10-2005 à 13:58:54  profilanswer
 

bin deja il nous parle de C alors qu'il fait des MFC [:pingouino]
 
en MFC on a une classe par dialogue, donc normalement il doit connaitre le type de la dialogue qu'il veut instancier.  
 
et apres, effectivement, ca rends :
 
CMaDialogue truc;
truc.DoModal();
 
 
(et pas DoModal() seul, pour ce qu'il veut faire)

n°1231503
godbout
Génial.
Posté le 26-10-2005 à 14:08:07  profilanswer
 

Mais quelle maîtrise. Dommage qu'il ne va sûrement rien y comprendre [:ocube]


Message édité par godbout le 26-10-2005 à 14:08:26
n°1231516
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-10-2005 à 14:15:01  profilanswer
 

kanabzh29 a écrit :

Bonjour,
 
Je n'arrive pas à appeler une CDialog en language C.
 
Je suis en une première fenètre qui exécute un programme et quand se programme se termine j'aimerais que cela appel une autre CDialog, voila le code que je met :
 
IDD_CHOIXTEST Dlg;
DoModal();
 
 
et la il me met dans le listing des erreurs:
 
D:\Projet-BTS\prog_mfc\Performance\PerformanceDlg.cpp(135) : error C2146: syntax error : missing ';' before identifier 'Dlg'
D:\Projet-BTS\prog_mfc\Performance\PerformanceDlg.cpp(135) : error C2065: 'Dlg' : undeclared identifier
 
pourriez vous m'aider. Merci d'avance.


1 - CDialog, c'est des MFC (donc du C++, crade, mais du C++ quand meme)
2 - C++ oblige, tu dois préfixer l'appel de ta méthode par la variable correspondant à l'objet, ce qui donne : Dlg.DoModal();
3 - Apprends le C++, c'est le B-A BA
 
edit: 4 - [:benou_grilled]


Message édité par Harkonnen le 26-10-2005 à 14:15:31
n°1231674
kanabzh29
Padme c'est ma mienne
Posté le 26-10-2005 à 16:42:10  profilanswer
 

ça y est ça marche, j'ai trouvé tout seul comme un grand, le code donne ceci :
 
CDialog * chxtest = new CDialog;
chxtest->Create(IDD_CHOIXTEST,NULL);
chxtest->ShowWindow(SW_SHOW);
 

Citation :

3 - Apprends le C++, c'est le B-A BA


 
Désolé mais en BTS IRIS j'apprend le C ,  pas le C++ alors excuse moi si je suis obligé d'utiliser du C pour mon projet...

Message cité 1 fois
Message édité par kanabzh29 le 26-10-2005 à 16:44:21
n°1231679
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-10-2005 à 16:44:29  profilanswer
 

- ne pas oublier le "delete chxtest;" en fin de fonction ou dans le destructeur,
- cette manière de faire est utilisée pour créer des dialogs non modales, ie qui ne bloquent pas les autres fenêtres de l'appli

n°1231685
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-10-2005 à 16:46:58  profilanswer
 

kanabzh29 a écrit :


Désolé mais en BTS IRIS j'apprend le C ,  pas le C++ alors excuse moi si je suis obligé d'utiliser du C pour mon projet...


dans ce cas, n'utilise pas de toolkits faits pour être utilisés en C++ !
si tu codes en C, utilise Win32 ou GTK

mood
Publicité
Posté le 26-10-2005 à 16:46:58  profilanswer
 

n°1231874
kanabzh29
Padme c'est ma mienne
Posté le 26-10-2005 à 20:29:05  profilanswer
 

A bas alors la je sais pas, c'est pas moi qui choisi le projet...

n°1232144
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 27-10-2005 à 10:00:59  profilanswer
 

on aura décidément tout vu.... après les profs adeptes du fflush(stdin), voici les profs qui mélangent du C et du C++... :pfff:


---------------
J'ai un string dans l'array (Paris Hilton)

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

  Appel d'une CDialog en C

 

Sujets relatifs
Appel de fonction d'une autre page[C++] pbl d'appel de fonction
Appel à une fonction WMIappel continu de fonctions...
appel de fct par reference.Appel de commandes UNIX
Appel Procédure Stockée Access depuis WinForm VB .Net en OLEDBAppel à experience rare (je suppose) !!
Appel d'un script SQL dans un script SQLAppel à "Synchronize" qui bloque sous Delphi7 et pas sous Delphi5 ???!
Plus de sujets relatifs à : Appel d'une CDialog en C


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