Une appli console suffit-elle pour faire afficher des dialogue sans MFC ??

li9 Messages postés 57 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 septembre 2008 - 16 oct. 2004 à 11:49
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 - 16 oct. 2004 à 15:53
Bonjour,
je crois que le titre du sujet est assez explicite ^^;

Je suis encore newbie en C++ et j'essais de démarrer sans les MFC (sur les conseils de certains d entre vous ~~" )
Je voulais savoir quelle type de nouvelle application C++
il fallait choisir avec Visual Studio .NET 2002
pour pouvoir afficher nos propre fenêtres ...

pour l'instant je m entraine en mode console
mais je suis pas sur que ca soit le bon type d'appli
pour creer des dialogues...

Je me trompe ?

10 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
16 oct. 2004 à 12:16
En effet il y a le mode console et le mode GUI.
Pour ce qui est de ton choix de ne pas utiliser les MFC, je suis tout a fait d'accord avec toi.
Cependant qi tu débutes en programmation, mieux vaut commencer par le C et ensuite aller vers le C++.

En ce qui concerne la création de dialogs, le mieux a faire et de ne passer par aucun des types de projets proposés par le Wizard de Visual Studio.
Tu crées simplement un nouvel espace de travail vierge et tu y ajoutes au fur et a mesure tes fichiers (*.cpp, *.h, *.rc, *.res,...).

Si tu veux un exemple simple de création de dialog sans rien d'autres, je peux t'en envoyer un, mais tu en trouveras aussi sir le site.

Shell
0
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
16 oct. 2004 à 13:10
Oui oui, oublie les MFC c'est ennuyeux pour le transport sur d'autres ordis (DLL en masse dans mon cas :(( )et perso, je te dirais, que c'est pas programmer ^^ !
Tiens vala un petit DialogBox() tout simple ac appel et gestion de procédure...

/* a mettre dans ton fichier .rc (c un exemple) */

PROGRESS DIALOG DISCARDABLE 20, 20, 150, 40
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Nowel - Analyse en cours..."
FONT 8, "MS Sans Serif"
BEGIN

LTEXT "Analyse virale en cours...", -1, 5, 5, 120, 8
PUSHBUTTON "Annuler", ID_ANNULER, 50, 20, 40, 14

END

// fin

/* ds un fichier .h */

LRESULT CALLBACK ProgressProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {

switch (message) {

case WM_INITDIALOG:

// instructions de démarrage de boit de dialogue...
break;

case WM_CLOSE:
EndDialog(hDlg, 0);
break;

case WM_COMMAND: // si c une touche de menu...

switch (LOWORD(wParam)) {


// ce que tu ve ici :)

}

default:

return false;

}
}

// fin

/* dans main... */

DialogBox(NULL, "PROGRESS", hwndOwner, (DLGPROC) ProgressProc);

// fin

voila voilou, tu men donnera des nouvelles!! :-)

Genda67, à votre service !
0
li9 Messages postés 57 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 septembre 2008 1
16 oct. 2004 à 13:39
Whaaa !
la rapidité des réponses !!!
(truc de fou lol je viens a peine de poster le message !)
Merci enormement !!!

DeAtHCrAsH >>
Oui alors en fait ce que j ai fait c'est démarrer un nouveau projet "console" mais "empty" du coup le .cpp j ai du en créer un vierge moi même .... Ca peut marcher comme ça aussi ?
En fait je debute pas totalement , je fait du C# a la base depuis pas mal de temps...
mais c'est plus aussi marrant qu'au debut alors j'essais le C++ ^^ ..

Gendal67 >> Merci beaucoup pour ta source
je vais l essayer sur le champs !
je vous dis ce que ca donne apres !!

merci beaucoup à vous deux !!
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
16 oct. 2004 à 14:03
Oui ta méthode est la bonne.
Tu crées le ptojet e,pty et tu y ajoutes tes fichiers.

Sinon ne prend pas l'exemple de dialog de Gendal67, il est érroné.
Donne ton mail je t'envoie le code minimal pour créer un dialog.

Shell
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
16 oct. 2004 à 14:05
Euh, comment ça il es t erroné ?? tu veux répéter ?? je t'en mettrais moi des érronés, chez moi ça marche nikel !! alors ? il est ou ce blem , dis moi puisque t'es si intelligent ??

Genda67, à votre service !
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
16 oct. 2004 à 14:14
Si intelligent ?
Merci de faire mon éloge a ma place (:

WM_INITDIALOG doit retourner 1!
...
case WM_INITDIALOG:

return 1;
...


Puis aussi il ne faut pas déclarer ta fonction de CallBack de type LRESULT, ce n'est pas faux mais il vaut mieux un BOOL.

Je te rappellerais que ce n'est pas parceque un programme marche qu'il n'est pas faux.

Shell
0
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
16 oct. 2004 à 14:18
:) Je préfère quand tu m'expliques comme tu viens de le faire ! Parce que dire que c'est erronné comme ça, sans rien dire d'autre, je trouve pas ça très sympa...moi j'essaie juste d'aider... et je viens depuis 2jours (ou 2-3 jours de +) à peine de commencer à apprendre les boites de dialogue...donc dsl de ces petits trucs qui manquent au programme...j'essayer juste t'aider...

Genda67, à votre service !
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
16 oct. 2004 à 14:46
No souci c'etait pas méchant ce que je disais ;)

Shell
0
li9 Messages postés 57 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 septembre 2008 1
16 oct. 2004 à 14:48
Re ,

Bon bha j'ai essayé le code , mais j ai encore quelques erreurs...
pour l'instant , ca se barre en sucette à cause de LRESULT et de CALLBACK ...
je dois pas les utiliser comme il faut,
je prend compte de ton post DeAtH,
hey Gandal67 t'emballes donc pas lol , moi je le trouve très bien ce bout de code !!
Je tente de corriger ce que j'ai mal tapé (ou mal compris ^^)
et je vous dis si ça marche ...

Merci encore !
désolé de vous faire perdre du temps pour des aneries pareil
-_-"
0
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
16 oct. 2004 à 15:53
noublie pas d'include windows.h ! ;-)) et de définirr le cas échéant ton projet en projet WIn32 (GUI)
:-P

Genda67, à votre service !
0
Rejoignez-nous