Programmation C/C++ sous Windows

Programmation C/C++ sous Windows - C++ - Programmation

Marsh Posté le 13-07-2005 à 09:22:26    

Salut,
 
Je m'étais lancé dans la programmation en C/C++ il y a quelques années plutôt pour découvrir le language que par nécessité. J'ai arrêté pour me mettre au PHP.
 
Je voudrais me remettre au C/C++ mais je voudrais créer des programmes sous Windows avec des fenêtres, des boutons, des menus, etc... et non des programmes en mode texte.
 
Je ne connais absolument rien à la programmation sous Windows, j'ai juste vaguement entendu parler de l'API, des COM, CLASSID mais je ne sais pas exactement à quoi ca correspond (pas du tout même).
 
Pour programmer j'utilise DEVC++. Je n'ai pas Visual C++. Si il faut télécharger un logiciel ca va être assez dur, je me connecte au net via un modem GPRS (téléphone portable).
 
Que me conseillez vous pour débuter? J'ai trouvé ce tutorial http://bob.developpez.com/tutapiwin/article_1.php mais je trouve ca très complique. En plus il me semble qu'il s'adresse à la programmation en Visual C++.
 
Merci d'avance pour votre aide.
 
A+

Reply

Marsh Posté le 13-07-2005 à 09:22:26   

Reply

Marsh Posté le 13-07-2005 à 11:36:25    

Ben, j'imagine que tu préfèreras sans doute avoir quelque chose de plus haut niveau que l'API Win32 directement, donc si tu veux juste pouvoir faire des applications graphiques plutôt qu'apprendre à te servir de l'API, je te conseille de te tourner vers un toolkit pour te faciliter la tâche. regarde du côté de GTK, par exemple, mais en cherchant un peu, tu trouveras d'autres libs de ce genre.
 
(ton article utilise directement Win32, justement, ce n'est pas forcément ce qu'il y a de plus aisé pour débuter)

Reply

Marsh Posté le 13-07-2005 à 13:29:02    

Va sur http://www.cppfrance.com y'a des tutoriaux dont un pour les "nuls" qui reprend tout depuis le début


Message édité par gregTech le 13-07-2005 à 13:29:28
Reply

Marsh Posté le 13-07-2005 à 14:47:06    

Merci pour les liens et les conseils.
 
La programmation C++ pour Windows a l'air assez complexe.
Qu'est ce qu'un logiciel comme Visual C++ apporte de plus? Est ce que l'on peut dessiner et placer les contrôles comme avec Visual Basic? Le code est-il bien plus simple après que le logiciel se soit chargé de créer la fenêtre?

Reply

Marsh Posté le 13-07-2005 à 14:56:52    

oui, Visual C++ intègre un outil graphique pour faire tes interfaces. Cependant, cela implique l'utilisation des MFC (et je ne crois pas que cette lib soit accessible pour les autres compilateurs).
 
Note que tu dois pouvoir trouver le même genre d'outils pour les autres toolkits, et que les outils en question ne seront probablement pas limités à un compilateur.
 
(et sinon, le code généré par l'interface n'est pas plus simple, mais ca te simplifie le travail de le générer, évidemment)

Reply

Marsh Posté le 13-07-2005 à 15:20:48    

Perso si tu veux developpe sur Win32 , Visual Studio reste la meilleur solution!
Maintenant si tu viens du php et veux te lancer dans la prog C++ graphique ca va pas etre facile et Visual est assez usine à gaz!
C'est pour ca que je te conseil d'acheter un bouquin sur Visual (et au vu de connexion internet) qui te guidera pas à pas sur l'utilisation de Visual et les API windows qui sont indispensables (avec des exemples, etc...)!
ca c'est une 1ere solution
 
Ensuite comme cité plus haut tu peux utiliser des lib graphique comme les WxWidgets, FLTK, GTK , QT (pour QT je crois que c'est dispo sur win32 maintenant pour des app non commerciales, à verifier)
et dans ce cas DevCpp peut etre une bonne alternative!
pour les cours internet sera ton meilleur amis!
au niveau lib je te conseillerais WxWidgets!
cette solution a un avantage au niveau de la portabilité!  
 
il ya aussi C++ Builder, mais je ne connais pas donc a toi de te renseigner ou  d'autres de donner leur avis!
 
Maintenant, si l'achat d'un bouquin ne te branche pas alors la 2eme solution me parait la mieux adapté dans le cas contraire la 1er me parait etre une bonne approche (qui t'enseigneras pas forcément des standards! mais bon tout s'apprend rien ne t'empeche d'aller voir ailleurs ensuite)


Message édité par Rits75 le 13-07-2005 à 15:27:53
Reply

Marsh Posté le 13-07-2005 à 15:32:51    

quoi qu'il arrive, s'il a de la motivation, il peut aussi utiliser la MSDN, au lieu du bouquin dans ta solution 1 ...
 
Edit : Sinon, tu as toujours la possibilité d'utiliser une lib graphique genre SDL et de faire ton interface à la main [:petrus75]


Message édité par theshockwave le 13-07-2005 à 15:35:19
Reply

Marsh Posté le 13-07-2005 à 15:37:55    

Je rejoins l'avis des autres. Il y a plusieurs manières de coder sous Windows :
- en utilisant Win32 : très complexe, mais permet d'appréhender tout le fonctionnement bas niveau d'une interface, ce qui peut rendre pas mal de services, même de nos jours. Ceci implique une programmation en C
- en utilisant les MFC : bibliothèque de classes C++ encapsulant Win32, les MFC sont censées te faciliter la vie... théoriquement. elles sont plombées par une architecture des plus merdiques (bonjour les macros, le mélange C/C++, ...) et accusent leur age ! un choix à déconseiller si on débute, et utilisables avec Visual Studio
- la VCL de Borland : utilisables seulement avec Borland C++ Builder, cette librairie est bien plus élégante que les MFC, et beaucoup plus simple d'accés. elle souffre néanmoins d'être dépendante d'un environnement unique (C++ Builder), et son avenir est plus qu'incertain.
- wxWidgets : portable, élégante, moderne, cette bibliothèque a tout pour plaire.
- QT : ma préférée, surtout depuis qu'elle est livrée en licence GPL sous Windows (pour des applications elles aussi sous GPL). très simple d'emploi, puissante, cette lib est une star à mes yeux. il est juste dommage qu'elle prenne en charge le dessin des fenêtres, plutot que de déléguer cette tache à l'API hote. de plus, son préprocesseur est des plus pourris.
par contre, elle intègre QTDesigner, un outil permettant de dessiner les interfaces à la souris, et de générer le code derrière.
 
QT ou wxWidgets.... personnellement je préfère QT, mais ces 2 excellentes librairies se valent

Reply

Marsh Posté le 13-07-2005 à 15:39:56    

tu ne lui as pas proposé de le faire en 13h ? :o

Reply

Marsh Posté le 13-07-2005 à 15:58:55    

j'en ai fais une en 13h y'a quelques années, du pur bonheur :love:
chaque bouton était un rectangle, et pour détecter le clic de souris sur ce bouton, je testais les coordonnées du pointeur, et si elles étaient à l'intérieur du rectangle, je dessinais le bouton "enfoncé" ! à la bite et au couteau :love:
 
une époque hélas révolue [:sisicaivrai]

Reply

Marsh Posté le 13-07-2005 à 15:58:55   

Reply

Marsh Posté le 13-07-2005 à 16:07:03    

J'ai fait ca y'a moins d'un an en SDL :o
 
Gestion de fenêtres, de polices, etc ... le tout par-pixel (cependant, mon toolkit est lent, depuis que j'ai mis de la transparence dedans [:petrus75] )
 
Edit : d'ailleurs, juste pour te faire plaisir, c'est en revoyant un de tes articles que j'ai fait le fond de mon appli de test : j'ai mis en guise d'arrière plan un effet de feu en 32 bits avec transparence (émulation de palette :sol: ) sur une image de fond pour faire joli :o


Message édité par theshockwave le 13-07-2005 à 16:10:21
Reply

Marsh Posté le 13-07-2005 à 16:10:24    

en SDL, c'est pour les petites bites ça [:forummp3]
en VESA 2.0, full assembleur, ça c'est du toolkit d'hommes [:kbchris]

Reply

Marsh Posté le 13-07-2005 à 16:11:04    

theshockwave a écrit :


Edit : d'ailleurs, juste pour te faire plaisir, c'est en revoyant un de tes articles que j'ai fait le fond de mon appli de test : j'ai mis en guise d'arrière plan un effet de feu en 32 bits avec transparence (émulation de palette :sol: ) sur une image de fond pour faire joli :o


[:kbchris]

Reply

Marsh Posté le 13-07-2005 à 16:12:31    

Harkonnen a écrit :


en VESA 2.0, full assembleur


 
avec la mémoire vidéo éparpillée sur plusieurs banks pour que ce soit moins facile, en plus ? :sweat:  
 

Reply

Marsh Posté le 13-07-2005 à 16:38:25    

tant qu'à faire [:ddr555]

Reply

Marsh Posté le 13-07-2005 à 16:42:22    

Merci beaucoup pour votre aide.
 
J'ai remarqué qu'il n'y a pas de topik unique sur la programmation en C++ pour Windows c'est un sujet assez vague mais pourquoi pas utiliser celui là pour les débutants. Très peu d'aide est diponible en francais à ce sujet. Ca pourrait être intéressant d'en regrouper le plus possible sur ce topik.
A vous de voir.
 
Pour le livre, j'ai fait un tour en grande surface mais ils ne proposent pas de livre pour apprendre le C++ sous Windows. Je vais aller voir en librairie.
 
Faut que je m'y remettes je trouve des tutoriels par dizaine sur internet mais ils traitent presque tous de la même chose, les pointeurs, les tableaux, les classes...
 
Je vais essayer de trouver de la documentation sur ces librairies et surtout apprendre à bien utiliser une librairie.
 
Peut être que je dis une bêtise mais est ce qu'il est possible par exemple grâce à un éditeur de ressources de savoir avec qu'elle librairie a été créé un logiciel? Ca permettrai de savoir à quoi ressemblent les interfaces que donnent les différentes librairies.
 
Avec quel système sont programmés la plus part des applications écrites en C++ sous Windows?
 
Merci d'avance pour vos réponses.


Message édité par coucou11 le 13-07-2005 à 16:43:13
Reply

Marsh Posté le 13-07-2005 à 16:45:38    

ben, si tu cherches explicitement du C++, effectivement, tu ne trouveras pas de programmation graphique car ca ne fait pas partie intégrante du langage, après, tu dois t'orienter vers des recherches plus spécifiques à tes besoins.
 
L'API Win32 n'est pas limitée au C++, par exemple (elle n'est d'ailleurs même pas spécialement faite pour [:petrus75] )

Reply

Marsh Posté le 13-07-2005 à 17:27:37    

Pour l'achat de livres je te deconseille les grandes surfaces, tu trouveras surement que des daubes!
Je te conseil plutot de regarder sur amazon beaucoup plus choix avec des bouquins de qualité, ensuite si tu ne veux/peux pas commander par internet noter la reference du livre et te le commander via une librairie (si tu es famillier avec l'anglais ou si tu'as pas peur je te conseil (recommande)des bouquins en anglais souvent beaucoup plus clair et complet)
 

Citation :

Avec quel système sont programmés la plus part des applications écrites en C++ sous Windows?


 
je pense qu'en tete doit arriver Visual studio , suivi de c++ builder mais rien de sur!

Reply

Marsh Posté le 25-07-2005 à 14:28:27    

moi aussi j ai commance comme toi et j avance plus .
j ai achete le livre " le langage c++ " de campus presse  
et je suis bloque au 2eme chapitre " les fonctions " mais je pense prendre un langage plus simple comme le visual basic ou delphi.
c est vrai , quand on commence au c++ on est oblige de passe par le mode text pas trop interessant mais bon le mode graphique c est plus dur


---------------
l'informatique c'est l'avenir
Reply

Marsh Posté le 25-07-2005 à 14:37:34    

linux-debian a écrit :

quand on commence au c++ on est oblige de passe par le mode text pas trop interessant


 
 
Abandonne la programmation et fais du html [:dawa]

Reply

Marsh Posté le 25-07-2005 à 19:25:37    

Juste un truc. Quand tu parle de faire de la programmation en C++ sous windows, sache que cela n'a pas vraiment de sens car le C++ sous windows est le même que celui sous n'importe quel OS. Ce qui changhe, c'est la librairie à utiliser pour faire ton interface graphique.
Comme dit plus haut, tu peux directement utiliser les fonctions de l'api Win32, mais cela risque d'être long, difficile et ton appli ne sera pas portable.
Tu peux aussi utiliser une librairie faite pour. Certains ont parlé de GTK,WxWindows et QT. Pour ce que j'en sais, GTK est pas mal mais est fait en C, pas en C++. (donc ce n'est pas le choix idéal selon moi.) WxWindows semble pas mal. Qui plus est, je pense qu'il existe des interfaces permettant de générer des interdaces graphiques. Pour QT, oui il existe une version gratuite pour les programmes non commerciaux. Mais pour le moment, il n'y a pas d'outil(rmq:je pense que l'on devrai bientôt en voir arriver, mais il faut encore attendre un peu.)
Maintenant, si tous ce que tu veux c'est apprendre le langage, bah tu n'est pas obligé de dévellopper une interface graphique. Perso je me suis lancé dans la programmation d'un parseur, et cela m'a permis d'apprendre beaucoup de chose. Mais le seul prog que j'ai pour le moment, c'est juste un p'tit truc de rien du tout en ligne de commande.  
Enfin, si tu veux un bon tuto, va voir celui-ci: http://c.developpez.com/tutcpp/book1.php ;)
Il est vraiment bien fait et est très complet.
 
Bon, ben finallement je me suis laisser un peu emporter :p. Allez, courage. Le C++ en vaut la peine (je trouve).
 

Reply

Marsh Posté le 27-07-2005 à 18:24:10    

Tu peux également jeter un coup d'oeuil ici surtout si tu débutes !
 
http://www.siteduzero.com/vostutos [...] tutoid=132

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed