2012-06-06 1 views
0

J'ai appris C# et utiliser Microsoft Visual Studio qui le rend très facile et agréable de créer des fenêtres formes avec différents contrôles comme les barres de progression, des menus déroulants, les navigateurs système de fichiers etc ..Existe-t-il de bonnes options pour créer des formulaires Windows fonctionnels pour C?

la même chose peut-elle être fait avec C, et y at-il des programmes recommandés?

(J'ai appris du C et j'aimerais faire des interfaces graphiques un peu plus loin que seulement dans la console, je suppose que c'est assez difficile?).

+0

Il n'y a aucun moyen standard de création graphique en C, donc vous aurez besoin de trouver une bibliothèque qui vous permet de le faire. Je ne suis pas familier avec cela, mais QT pourrait être une bonne option multi-plateforme pour vous – Attila

+0

QT est un framework C++. –

+0

Attila, sur Windows, vous pouvez certainement utiliser l'API directement. Aucune bibliothèque requise. – Joey

Répondre

2

L'API Windows était (et est toujours) une API C. Documenté au msdn.microsoft.com.

La façon la plus simple de créer une application Windows avec une forme simple, en C, sans utiliser de cadres externes est ce programme:

#include <Windows.h> 
#include "Resource.h" 

BOOL CALLBACK DialogProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 
{ 
    switch(uMsg) 
    { 
    case WM_INITDIALOG: 
    return TRUE; 
    } 
    return FALSE; 
} 

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hNull, LPTSTR cmdLine, int cmdShow) 
{ 
    return DialogBoxParam(hInstance,MAKEINTRESOURCE(IDD_MAINDIALOG),NULL,DialogProc,0L); 
} 

L'hypothèse est que, en plus de ce fichier main.c, vous utilisez l'éditeur de ressources Visual Studio pour créer un fichier de script de ressources (.rc) avec une ressource de boîte de dialogue sur laquelle vous disposez vos contrôles. Si vous utilisez Visual Studio Express, un éditeur de ressources n'est pas inclus et vous aurez besoin d'un éditeur tiers (ils sont disponibles) pour afficher la boîte de dialogue.

+0

Merci beaucoup, c'est logique. – user1166981

1
+0

Je vais expérimenter avec cela aussi, différent look, merci beaucoup. – user1166981

+0

FYI, GTK + a plus de sens que l'API win (imho). De plus c'est une plateforme croisée. la question est maintenant; pourquoi diable construisez-vous une interface graphique en utilisant C? si c'est lié aux contraintes, sinon il est temps de migrer vers autre chose qui est destiné à de telles fins :) – CoolStraw

Questions connexes