Comment puis-je faire de la programmation graphique en C?

Je veux faire de la programmation graphique en C. J’avais beaucoup cherché sur le compilateur qui fournit un ensemble complet de fonctions pour faire de la programmation graphique en C, mais je n’ai rien trouvé.

Fondamentalement, je veux dessiner des boutons, puis accepter le choix de l’utilisateur et prendre les mesures appropriées. Il serait utile de suggérer un compilateur C ou une bibliothèque que je peux append à mon compilateur. Je travaille sur le système d’exploitation Windows.

Actuellement, j’utilise le compilateur TURBO C qui ne supporte pas les méthodes directes pour créer des boutons. Toute aide serait appréciée.

Ceci est garanti pour n’avoir rien à voir avec le compilateur. Tous les compilateurs font est comstackr le code qu’ils sont donnés. Ce que vous recherchez, c’est une bibliothèque d’interface graphique, sur laquelle vous pouvez écrire du code en utilisant n’importe quel compilateur de votre choix.

Bien sûr, cela étant dit, votre premier objective devrait être de laisser tomber Turbo C. Ce compilateur a environ 20 ans et continuer à l’utiliser ne vous rend pas service. Vous ne pouvez pas écrire d’applications GUI modernes , car elles ne produiront que du code 16 bits. Tous les systèmes d’exploitation modernes sont 32 bits, et beaucoup sont maintenant 64 bits. Il est également intéressant de noter que les éditions 64 bits de Windows n’exécutent pas les applications 16 bits en mode natif. Vous aurez besoin d’un émulateur pour cela; il ne va pas vraiment générer beaucoup de sentiment d’accomplissement si vous ne pouvez écrire que des applications qui fonctionnent dans un émulateur DOS. 🙂

Visual Studio Express C ++ de Microsoft est disponible en téléchargement gratuit . Il inclut le même compilateur disponible dans la version complète de la suite. Le package C ++ comstack également du code C pur.

Et comme vous travaillez sous Windows, l’API Windows est un choix naturel. Il vous permet d’écrire des applications Windows natives qui ont access à l’ensemble des contrôles de l’interface graphique. Vous trouverez ici un bon tutoriel sur l’écriture d’applications WinAPI en C. Si vous choisissez d’utiliser Visual Studio, il comprend également du code standard pour une application WinAPI vierge qui vous permettra de démarrer rapidement.

Si vous vous intéressez vraiment à apprendre cela, Windows Programmation de Charles Petzold est la ressource canonique du sujet et mérite certainement une lecture. La totalité de l’API Windows a été écrite en C, et il est tout à fait possible d’écrire des applications Windows complètes en C. Vous n’avez pas besoin de C ++ stinkin ‘.

C’est comme ça que je le ferais , au moins. Comme le suggèrent les autres réponses, GTK est également une option. Mais les applications générées sont carrément horribles sur Windows.


EDIT: Oh mon dieu … On dirait que vous n’êtes pas le seul à vouloir écrire des applications “GUI” en utilisant un compilateur obsolète. Une recherche Google affiche la bibliothèque suivante: TurboGUI: une infrastructure graphique pour Turbo C / C ++ :

Exemple d'interface TurboGUI

Si vous êtes un autre de ces pauvres gens coincés dans le système scolaire indien désespérément obsolète et obligés d’utiliser Turbo C pour terminer vos études, cela pourrait être une option. Je déteste vous le recommander, car apprendre à contourner ses limites vous sera complètement inutile une fois que vous aurez obtenu votre diplôme, mais apparemment, vous êtes intéressé.

La bibliothèque la plus connue pour créer une interface graphique en langage C est certainement la GTK .

Avec cette bibliothèque, vous pouvez facilement créer des boutons (pour votre exemple). Lorsqu’un utilisateur clique sur le bouton, un signal est émis et vous pouvez écrire un gestionnaire pour effectuer certaines actions.

Utilisez les API de gain dans votre fonction principale:

  1. Remarque RegisterClassEx () : vous devez fournir un pointeur sur une fonction (généralement appelée WndProc ) qui gère les messages Windows tels que WM_CREATE, WM_COMMAND, etc.
  2. CreateWindowEx ()
  3. ShowWindow ()
  4. UpdateWindow ()

Ensuite, écrivez une autre fonction qui gère les messages de victoire (mentionnés dans # 1). Lorsque vous recevez le message WM_CREATE, vous devez appeler CreateWindow (). La classe est ce contrôle est cette fenêtre, par exemple “modifier” est une zone de texte et “bouton” est un bouton .. :). Vous devez spécifier un identifiant pour chaque contrôle (de votre choix mais unique parmi tous). CreateWindow () renvoie un handle à ce contrôle, qui doit être mémorisé. Lorsque l’utilisateur clique sur un contrôle, vous recevez le message WM_COMMAND avec l’ID de ce contrôle. Ici, vous pouvez gérer cet événement. Vous pourriez trouver utile SetWindowText () et GetWindowText () qui vous permettent de définir / obtenir le texte de n’importe quel contrôle.
Vous aurez seulement besoin du kit de développement Win32. Vous pouvez l’obtenir ici .

C est plutôt un langage de programmation matériel, il existe des générateurs d’interfaces graphiques faciles à utiliser pour C, GTK, Glade, etc. combiner les deux pour créer une interface entre votre programme et l’interface graphique est un véritable casse-tête, et différentes interfaces graphiques utilisent différentes manières, certaines lancent des variables globales, d’autres des emplacements. Ce serait bien d’avoir un générateur d’interface graphique qui lierait facilement vos variables de programme C et vos sorties. La programmation CLI est facile lorsque vous surmontez l’allocation de mémoire et les pointeurs, l’interface graphique vous permet d’utiliser un IDE utilisant le glisser-déposer. Mais tout autour, je pense que cela pourrait être plus simple.

Le compilateur AC lui-même ne vous fournira pas de fonctionnalités d’interface graphique, mais il existe de nombreuses bibliothèques pour ce genre de chose. Le plus populaire est probablement GTK + , mais il peut être un peu compliqué si vous débutez et que vous voulez rapidement installer une interface graphique.

Pour quelque chose d’un peu plus simple, je recommanderais IUP . Avec cela, vous pouvez utiliser un simple langage de définition d’interface graphique appelé LED pour les commandes de mise en page (mais vous pouvez le faire avec du C pur, si vous le souhaitez).

Windows API et Windows SDK si vous voulez tout créer vous-même (ou) Windows API et Visual C Express . Obtenez l’édition 2008 Ceci est un IDE complet et un logiciel remarquable pour le développement de Microsoft pour Windows.

Tous les systèmes d’exploitation sont écrits en C. Ainsi, toute application, console / interface graphique que vous écrivez en C est la méthode standard d’écriture pour le système d’exploitation.