> Tous les forumsAutres langages

 Programmer Avec Windows
Statut du sujet : NON RESOLU Imprimer
 mrdus
  Posté le 05/05/2005 @ 12:07  
 Petit astucien

112 Messages
Bonjour a tous voila je suis en panne de linux pour le moment et en attendant de trouver une solution je voudrais un truc pour programmer avec windows en c++ et en java. De plus j'aimerais bien avoir les codes qui permettent de creer une fenetre opengl afin d'avoir une interface graphique pour mes programmes alors si vous avez des liens etc c'est avec grand plaisir :)
 Afficher le profil de mrdusEnvoyer un message privé à mrdus
 
 
Publicité
 breizhbugs  Posté le 05/05/2005 à 16:39  
Astucien

3001 Messages
Salut, Pour le java, c'est simple il te faut le SDK de java probablement disoponible sur le site de sun (un site du genre www.sun.com ). Pour le C++ il y a probablement un version de gcc, sinon un programme gratuit s'apelle devc++. Mais le mieux (a mon avis) c'est visual c++ de microsoft, payant mais livré avec toute la doc! (Il me SEMBLE que microsoft fournit le compilateur gratuitement, quelque part , mais encore faut il le trouver. Sinon la doc de windows (enfin les API dispo sont consultables sur le site de microsoft, dans la section msdn il me semble) Pour tes fenetres opengl, le mieux est que tu utilise la librairie GLUT, comme ca le code est compatible windows/linux mais ce ne sont pas de vrai fenetres windows avec tous les widgets disponible. Le mieux est que tu regardes/cherches des exemple sur www.opengl.org ! [hello]
Afficher le profil de breizhbugs Voir la configuration de breizhbugsEnvoyer un message privé à breizhbugs
 Revenir en haut de la page
 mrdus  Posté le 05/05/2005 à 21:36  
Petit astucien

112 Messages
héhé merci Suite a ta remarque sur la possible existence d'un gcc pour windows (j'y avais pas pensé :) ) je suis tombé sur ce site http://c.developpez.com/compilateurs/#ide pas eu le temps d'aller voir mais il a l'air assez complet et j'ai apparemment trouvé mon bonheur En revanche pour ce qui est du code me permettant d'avoir une appli graphique, j'esperai surtout que qq1 aurait un truc tout pondu [bigsmile]
Afficher le profil de mrdusEnvoyer un message privé à mrdus
 Revenir en haut de la page
 breizhbugs  Posté le 06/05/2005 à 11:16  
Astucien

3001 Messages
Le truc archi de base: // // GLSAMPLE.CPP // by Blaine Hodge // // Includes #include <windows.h> #include <gl/gl.h> // Function Declarations LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ); VOID EnableOpenGL( HWND hWnd, HDC * hDC, HGLRC * hRC ); VOID DisableOpenGL( HWND hWnd, HDC hDC, HGLRC hRC ); // WinMain int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int iCmdShow ) { WNDCLASS wc; HWND hWnd; HDC hDC; HGLRC hRC; MSG msg; BOOL bQuit = FALSE; float theta = 0.0f; // register window class wc.style = CS_OWNDC; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon( NULL, IDI_APPLICATION ); wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject( BLACK_BRUSH ); wc.lpszMenuName = NULL; wc.lpszClassName = "GLSample"; RegisterClass( &wc ); // create main window hWnd = CreateWindow( "GLSample", "OpenGL Sample", WS_CAPTION | WS_POPUPWINDOW | WS_VISIBLE, 0, 0, 256, 256, NULL, NULL, hInstance, NULL ); // enable OpenGL for the window EnableOpenGL( hWnd, &hDC, &hRC ); // program main loop while ( !bQuit ) { // check for messages if ( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) { // handle or dispatch messages if ( msg.message == WM_QUIT ) { bQuit = TRUE; } else { TranslateMessage( &msg ); DispatchMessage( &msg ); } } else { // OpenGL animation code goes here glClearColor( 0.0f, 0.0f, 0.0f, 0.0f ); glClear( GL_COLOR_BUFFER_BIT ); glPushMatrix(); glRotatef( theta, 0.0f, 0.0f, 1.0f ); glBegin( GL_TRIANGLES ); glColor3f( 1.0f, 0.0f, 0.0f ); glVertex2f( 0.0f, 1.0f ); glColor3f( 0.0f, 1.0f, 0.0f ); glVertex2f( 0.87f, -0.5f ); glColor3f( 0.0f, 0.0f, 1.0f ); glVertex2f( -0.87f, -0.5f ); glEnd(); glPopMatrix(); SwapBuffers( hDC ); theta += 1.0f; } } // shutdown OpenGL DisableOpenGL( hWnd, hDC, hRC ); // destroy the window explicitly DestroyWindow( hWnd ); return msg.wParam; } // Window Procedure LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) { Switch ( message ) { case WM_CREATE: return 0; case WM_CLOSE: PostQuitMessage( 0 ); return 0; case WM_DESTROY: return 0; case WM_KEYDOWN: Switch ( wParam ) { case VK_ESCAPE: PostQuitMessage( 0 ); return 0; } return 0; default: return DefWindowProc( hWnd, message, wParam, lParam ); } } // Enable OpenGL VOID EnableOpenGL( HWND hWnd, HDC * hDC, HGLRC * hRC ) { PIXELFORMATDESCRIPTOR pfd; int iFormat; // get the device context (DC) *hDC = GetDC( hWnd ); // set the pixel format for the DC ZeroMemory( &pfd, sizeof( pfd ) ); pfd.nSize = sizeof( pfd ); pfd.nVersion = 1; pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER; pfd.iPixelType = PFD_TYPE_RGBA; pfd.cColorBits = 24; pfd.cDepthBits = 16; pfd.iLayerType = PFD_MAIN_PLANE; iFormat = ChoosePixelFormat( *hDC, &pfd ); SetPixelFormat( *hDC, iFormat, &pfd ); // create and enable the render context (RC) *hRC = wglCreateContext( *hDC ); wglMakeCurrent( *hDC, *hRC ); } // Disable OpenGL VOID DisableOpenGL( HWND hWnd, HDC hDC, HGLRC hRC ) { wglMakeCurrent( NULL, NULL ); wglDeleteContext( hRC ); ReleaseDC( hWnd, hDC ); } Ca fait tourner un triangle dans une fenetre. Permet moi encore de te dire d'aller faire un tour sur www.opengl.org . Interesse toi de pres a la librairie GLUT .

Modifié par breizhbugs le 06/05/2005 11:19
Afficher le profil de breizhbugs Voir la configuration de breizhbugsEnvoyer un message privé à breizhbugs
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsAutres langages

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page