IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Tutoriels Direct3D 10 : Bases

logo msdn


précédentsommairesuivant

I-0. Tutoriel 0 : Les bases de Win32

tuto0

I-0-a. Résumé

Dans ce tutoriel préliminaire, nous allons passer en revue les éléments nécessaires pour créer une application Win32. Nous allons préparer une fenêtre vide pour l'utilisation de Direct3D 10.

I-0-b. Source

(SDK root)\Samples\C++\Direct3D10\Tutorials\Tutorial00

I-0-c. Préparation de la fenêtre

Chaque application Windows requiert au moins un objet fenêtre. Avant même de voir les spécificités de Direct3D 10, notre application doit avoir un objet fenêtre fonctionnel. 3 choses sont nécessaires :

1. Enregistrer la classe de la fenêtre

 
Sélectionnez
	//
	// Enregistrement de la classe de la fenêtre
	//
	WNDCLASSEX wcex;
	wcex.cbSize = sizeof(WNDCLASSEX);
	wcex.style          = CS_HREDRAW | CS_VREDRAW;
	wcex.lpfnWndProc    = WndProc;
	wcex.cbClsExtra     = 0;
	wcex.cbWndExtra     = 0;
	wcex.hInstance      = hInstance;
	wcex.hIcon          = LoadIcon(hInstance, (LPCTSTR)IDI_TUTORIAL1);
	wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
	wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
	wcex.lpszMenuName   = NULL;
	wcex.lpszClassName  = szWindowClass;
	wcex.hIconSm        = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_TUTORIAL1);
	if( !RegisterClassEx(&wcex) )
		return FALSE;

2. Créer un objet fenêtre

 
Sélectionnez
	//
	// Création de la fenêtre
	//
	g_hInst = hInstance; // Stock l'identifiant de l'instance de notre variable globale
	RECT rc = { 0, 0, 640, 480 };
	AdjustWindowRect( &rc, WS_OVERLAPPEDWINDOW, FALSE );
	g_hWnd = CreateWindow( szWindowClass, L"Direct3D 10 Tutoriel 0 : Preparation de la fenetre", WS_OVERLAPPEDWINDOW,
				CW_USEDEFAULT, CW_USEDEFAULT, rc.right - rc.left, rc.bottom - rc.top, NULL, NULL,
				hInstance, NULL);
	 
	if( !g_hWnd )
		return FALSE;
	 
	ShowWindow( g_hWnd, nCmdShow );

3. Récupérer et distribuer les messages de cette fenêtre

 
Sélectionnez
	//
	// Boucle principale des messages
	//
	MSG msg = {0};
	while( GetMessage( &msg, NULL, 0, 0 ) )
	{
		TranslateMessage( &msg );
		DispatchMessage( &msg );
	}
	  
	LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
	{
		PAINTSTRUCT ps;
		HDC hdc;
		
		switch (message) 
		{
			case WM_PAINT:
				hdc = BeginPaint(hWnd, &ps);
				EndPaint(hWnd, &ps);
				break;
		
			case WM_DESTROY:
				PostQuitMessage(0);
				break;
		
			default:
				return DefWindowProc(hWnd, message, wParam, lParam);
		}
		
		return 0;
	}

Celles-ci sont les étapes nécessaires pour configurer un objet fenêtre qui est nécessaire pour chaque application Windows. Si nous compilons et démarrons ce code, nous verrons une fenêtre avec un fond blanc.


précédentsommairesuivant

Cet article est une traduction d'un article original de Microsoft en anglais. Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Microsoft. Lire l'article original Ici.