Activer mode graphique en c avec codeblock

Bonjour,

je viens de comment le cours sur les programme des graphes en c ... mais je ne sais pas comment activer le mode graphique en c avec CODEBLOCK

2 réponses

  1. Contributeur
    Bonjour akybienvenu,

    Le langage C standard ne permet pas d'activer un mode graphique pour dessiner quoi que ce soit.

    Cela ne signifie pas qu'il est impossible de faire des choses graphiques en C cependant.

    Il est nécessaire d'utiliser une bibliothèque ou l'API Windows.

    https://www.commentcamarche.net/faq/10354-les-bibliotheques-pour-interfaces-graphiques-gui

    Pour l'API Windows, sous Codeblocks tu crées un projet de programme Windows, et tu peux t'inspirer de l'exemple suivant, qui montre comment tracer une ligne avec l'interface GDI+ en langage C en programmation win32 :

    https://docs.microsoft.com/en-us/windows/win32/gdiplus/-gdiplus-drawing-a-line-use?redirectedfrom=MSDN

    Si tu n'est pas sous Windows, ou que tu veux rendre ton programme portable, ou que tu n'aimes pas spécialement les API Windows, tu peux utiliser une bibliothèque permettant de gérer une interface graphique.

    Pour Codeblocks, le choix naturel irait vers wxWidgets, car Codeblocks (qui est d'ailleurs développé avec cette bibliothèque) intègre l'outil de RAD wxSmith qui facilite la création d'applications avec une interface graphique.

    Voilà quelques liens :

    https://wiki.wxwidgets.org/CodeBlocks_Setup_Guide
    http://wiki.codeblocks.org/index.php/WxSmith_tutorials
    https://wiki.wxwidgets.org/Drawing_on_a_panel_with_a_DC

    Ce n'est pas exactement simple, ni pour débutants et c'est du C++ normalement.

    Pour du C pur il y a GTK+.

    Qt est du C++, et autant utiliser alors Qt Creator qui s'aime bien lui même.

    Dal

    Edit 1 : le binding C pour wxWidgets wxC : http://wxc.sourceforge.net/ ne semble plus maintenu depuis des années.
    Edit 2 : wxC semble cependant être toujours utilisé pour créer wxHaskell ... https://github.com/wxHaskell/wxHaskell/tree/master/wxc le code qui est là est à jour par rapport aux versions actuelles de wxWidgets
    0