Sommaire  
 
 
Programmation
• ASP
• C++
• C++ Builder
• DirectX
• Java
• Javascript
• Perl
• PHP3
• SQL

Liens
• Annuaire
• Gagnez de l'argent

Utile
• Lexique

Contact
• Courrier
• Formulaire

A propos :
• Des auteurs
 

DirectX / DirectDraw

 

Création d'un objet DirectDraw

Utilisation de la fonction DirectDrawCreate

HRESULT DirectDrawCreate

Paramètre

Description

GUID FAR * lpGUID

Adresse de l'identificateur unique du péripherique d'affichage pour l'interface principale la valeur est NULL

LPDIRECTDRAW FAR * lplpDD

Adresse du pointeur vers l'interface DirectDraw

lUnknown FAR * pUnkOuter

NULL par défaut car valeur non utilisée

#include <ddraw.h>

LPDIRECTDRAW lpDirectDraw; //Déclaration du pointeur de l'interface DirectDraw

HRESULT hResultat;

hResultat = DirectDrawCreate ( NULL, &lpDirectDraw, NULL);

// On doit tester le code retour

if (hResultat != DD_OK) throw Exception( "Erreur sur la fonction DirectDrawCreate");

 

Définition du niveau coopératif

Utilisation de la fonction SetCooperativeLevel

HRESULT SetCooperativeLevel

Paramètre

Description

HWND hWnd

Handle de la fenêtre de votre application. Peut être NULL si le niveau est DDSCL_NORMAL

DWORD dwFlags

Voir liste ci dessous

Indicateur

Description

DDSCL_ALLOWMODEX

Handle de la fenêtre de votre application. Peut être NULL si le niveau est DDSCL_NORMAL

DDSCL_ALLOWREBOOT

Autorise le redémarrage du système (CTRL+ALT+SUPPR)

DDSCL_EXCLUSIVE

Accès exclusif à l'écran

DDSCL_FULLSCREEN

Mode plein écran

DDSCL_NORMAL

Affichage dans une fenêtre normale de Windows

DDSCL_NOWINDOWCHANGES

DirectDraw ne devrait pas réduire ou restaurer l'application automatiquement.

hResultat = lpDirectDraw->SetCooperativeLevel(Handle, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN);

// On doit tester le code retour

if (hResultat != DD_OK) throw Exception( "Erreur sur la fonction SetCooperativeLevel");

 

Définition du mode vidéo

Utilisation de la fonction SetDisplayMode

HRESULT SetDisplayMode

Paramètre

Description

DWORD dwWidth

Largeur d'affichage en pixel

DWORD dwHeight

Hauteur d'affichage en pixel

DWORD dwBPP

Profondeur de bits des pixels

hResultat = lpDirectDraw->SetDisplayMode(640, 480,16);

// On doit tester le code retour

if (hResultat != DD_OK) throw Exception( "Erreur sur la fonction SetDisplayMode");

 

Obtention du mode vidéo

Utilisation de la fonction GetDisplayMode

HRESULT GetDisplayMode

Paramètre

Description

LPDDSURFACEDESC lpDDSurfaceDesc

Description de la surface décrivant le mode courant.

Création des surfaces

Utilisation de la fonction CreateSurface

HRESULT CreateSurface

Paramètre

Description

LPDDSURFACEDESC lpDDSurfaceDesc

Structure DDSURFACEDESC décrivant la surface à créer.

LPDIRECTDRAWSURFACE FAR * lplpDDSurface

Adresse d'un pointeur qui sera initialisé afin de pointer vers la surface créée.

lUnknown FAR * pUnkOuter

Inutilisé doit valoir NULL

Exemple de création de surface primaire

DDSURFACEDESC ddsd;

ddsd.dwSize = sizeof ( ddsd );

ddsd.dwFlags = DDSD_CAPS;

ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;

hResultat = lpDirectDraw->CreateSurface(&ddsd, &lpDDSPrimaire, NULL);

// On doit tester le code retour

if (hResultat != DD_OK) throw Exception( "Erreur sur la fonction CreateSurface ");

 

Obtention du contexte du périphérique

Utilisation de la fonction GetDC

HRESULT GetDC

Paramètre

Description

HDC FAR * lphDC

Adresse d'un handle de contexte de périphérique qui sera initialisé par l'appel.

hResultat = lpDDSPrimaire ->GetDC( &hdc );

// On doit tester le code retour

if (hResultat != DD_OK) throw Exception( "Erreur sur la fonction GetDC ");

Libération du contexte du périphérique

Utilisation de la fonction ReleaseDC

HRESULT ReleaseDC

Paramètre

Description

HDC hDC

Contexte de périphérique obtenu par la fonction GetDC.

lpDDSPrimaire ->ReleaseDC( hdc );

Libération d'un objet DirectDraw

if (lpDirectDraw != NULL)

{
lpDirectDraw->Release();
lpDirectDraw = NULL;
}

Site Créé
le 1 Octobre 1999
 
*** Visitez notre Sponsor ! ***  
582498" target="_blank"> *** Visitez notre Sponsor ! ***