MFC mal vus ??

li9 Messages postés 57 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 septembre 2008 - 12 oct. 2004 à 10:16
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 13 oct. 2004 à 08:38
Salut ,
je debute a peine le c++ (ca fait 10min lol)
Je suis vraiment etonné de voir a quel point c'est différent du C# , j'ai tres souvent vu du code c++ , pour moi c'était pareil....

enfin bon ...

J'aimerais savoir pourquoi les MFC sont "mal vus" je vois ca tout le temps (aussi bien dans des petits apps que dans les forums ou même ici dans CS!)
Je sais pas trop ce que c'est mais a première vue c'est un peu comme le System.Windows.Forms de .NET , des truc déjà tout fait par 'crosoft quoi .... (non ?).
Persos j'aime bien (XD) c'est moins long a coder hehe
et comme le di si bien microsoft : moins de code a taper c'est plus de temps pour boire du café ! ^^

si quelqu'un a une idée ....

chayoo

10 réponses

cs_thierry la fronde Messages postés 351 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 août 2009
12 oct. 2004 à 11:54
Salut,

Je pense que l'intérêt de ne pas utiliser les MFC (en utilisant donc l'API) est de faire du code pouvant être repris avec n'importe quel compilo. De plus MFC étant propriétaire, pour faire un programme commercial il faut acheter une licence.

....

A+
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 oct. 2004 à 13:52
Aucune licence speciale pour MFC.

ciao...
BruNews, MVP VC++
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
12 oct. 2004 à 14:56
Salut,
Le seul but des MFC est de simplifier la programmation. Or cette simplification entraine beaucoup d'inconvénients:
- Les MFC sont wrappées à partir des fonctions API. Il est donc préférable d'appeler ces API directement.
- Elles empêchent le programmeur, surtout un débutant,de comprendre comment fonctionne le système.
- Le code obtenu ne peut être optimisé ni en vitesse ni en taille. un exécutable autonome de 2Mo peut passer à 30Ko sans MFC.
- Beaucoup de programmes faits sous MFC ne peuvent fonctionner sur d'autres PCs qu'après installation de DLLs.
- Les sources MFC ne peuvent être compilés qu'avec Visual C++.
- Etc....
Je m'arrête ici car la liste est longue. Je pense qu'avec les MFC (et Visual Basic) on ne fait que "jouer" à la programmation. Pour faire de la vraie programmation il ne faut pas chercher la simplisité. Il vaut mieux passer des mois pour sortir une excellente application que de faire n'importe quoi en une semaine.
0
li9 Messages postés 57 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 septembre 2008 1
12 oct. 2004 à 16:47
Salut ,
Merci beaucoup pour vos réponses!

J'ai voulu passer en C++ parce que le C# a justement tout les inconveniants que tu cite racpp (enfin pour moi...) même si c'est un language relativement plus simple à maitriser que le C++,
que nos appli .NET peuvent tourner sur nunux ou quoi.
Ce sont des applications completement independante des dll du framework .
Donc si j'ai bien compris , si je veux que mon apprentissage c++ soit rentable va falloir faire sans MFC .....
On va bien voir ce que ça va donner lol ^^

deja que j'arrive a comprendre un peu la synthaxe qui est finalement carement differente .....
sur C# pour assigner du texte à un textbox je tape

MonTextBox.Text="J'arrive a rien";


la ...rien a voir, deja on utilise des pointeurs apparement (???)

this->MonTextBox::(Apres j'ai pas encore trouvé lol)


En tout cas merci pour vos réponses !

here i come c++ , whoopee ;D
0

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

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 oct. 2004 à 16:57
0
MetalDwarf Messages postés 241 Date d'inscription mardi 29 octobre 2002 Statut Membre Dernière intervention 23 janvier 2006
12 oct. 2004 à 17:13
C est vrai que les MFC c est pas terrible, mais le probleme c est que si tu apprends la programmation C++ avec les MFC, tu n apprendra pas vraiment le C++ mais le C++ "a la sauce" Microsoft qui est une forme un peu batarde et surtout tres loin d etre universelle.

Sinon les remarques precedentes sur les MFC, je confirme!
Moralite : API c est mieux (et plus propre).
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
12 oct. 2004 à 21:14
Salut,
li9 > Pour bien maitriser la programmation sous Windows, il faut commencer doucement. Tu peux appeler les API avec du code en C pur (pas besoin de C++). Ca te permettra de mieux comprendre ce que tu fais. Une fois l'ossature minimale de ton programme construite, tu appellera les API directement par leurs noms. Exemple:
Pour avoir une zone de texte tu crée un STATIC comme ceci:
HWND ZoneTexte=CreateWindowEx(0,"STATIC",..............);
Pour lui affecter du texte tu fais:
SetWindowText( ZoneTexte,"Bonjour");

C'est simple non?
Tu trouveras sur le net de nombreux tutoriaux à ce sujet. Le livre proposé par BruNews reste une référence incontournable.

Bonne programmation!
0
cs_thierry la fronde Messages postés 351 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 août 2009
13 oct. 2004 à 00:56
BruNews>>Aucune licence speciale pour MFC.

Y a-t-il un moyen d'utiliser les MFC sans acheter Visual ou un autre IDE qui les utilisent ?

A+
0
li9 Messages postés 57 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 septembre 2008 1
13 oct. 2004 à 01:50
j'ai téléchargé les zip de BruNews je jette un oeil juste après.
Ca avait l'air tellement simple quand je regardais les sources avant, mais avec du recule , je pense que c'était plutot des sources C (pas C++) que j'avais vu ....

J'ai entendu dire que le C etait pas orienté objet c'est vrai ?
wè allé riez de ma question lol , vous pouvez ~~"
moi j'ai commencé par vb(ensuite vb.net puis csharp) lol pas par le C malheureusement (==groooooooosses lacunes huhu)

En attendant j'ai les bouquin de mon père ; un sur le C de borland et un sur MSVC++ 2.0 (ca date hein ? ^^)

Sinon j'ai utilisé des API Calls en C# deja , j'avais besoin de 2~3 fonctions dans kernell32 (user32 aussi je crois)
même si la syntaxe sera differente en C/C++ je pense que j'ai un peu capter comment ca fonctionnait tout ça...

thierry la fronde >> sans vouloir trop m'avancer , je pense que les MFC sont propres aux IDE de 'crosoft, je dis ça parce que mon père boss actuellement sur Borland C++ builder 6 et il est (apparement) pas question de MFC ....
Enfin je me trompe très certainement!! je sort encore du four ...
entre parentheses : je suis actuellement sur un site qui di qu'il existe un "equivalent" des MFC de 'crosoft pour Borland qui s'appelle OWL . ca veut peut etre dire que si tu veux pas utiliser Visual Studio , 'va falloir trouver l'equivalent des mfc pour ton compilo (c'est comme ça que vous dîtes ? ^^)

allé

++ tout le monde et merci pour vos lumières !!
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 oct. 2004 à 08:38
MFC est fourni avec VS bien entendu mais la licence n'est que pour VS.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous