Gegeben,DC = Devicecontext, der Gerätekontexthandle (Variable (H)ANDLE (D)evice (C)ontext),ermittelt mit GetDC()
BOOL PixelFormat(HDC hdc) { /*2*/ PIXELFORMATDESCRIPTOR pfd, *ppfd; /*3*/ int pixelformat; /*4*/ ppfd = &pfd; /*5*/ ppfd->nSize = sizeof(PIXELFORMATDESCRIPTOR); /*6*/ ppfd->nVersion = 1; /*7*/ ppfd->dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER; /*8*/ ppfd->dwLayerMask = PFD_MAIN_PLANE; // Dokumentation, ignoriert /*9*/ ppfd->iPixelType = PFD_TYPE_COLORINDEX; // /*10*/ ppfd->cColorBits = 32; /*11*/ ppfd->cDepthBits = 16; /*12*/ ppfd->cAccumBits = 0; /*13*/ ppfd->cStencilBits = 0; /*14*/ ppfd->cColorBits = 8; /*15*/ ppfd->cDepthBits = 16; /*16*/ ppfd->cAccumBits = 0; /*17*/ ppfd->cStencilBits = 0; /*2*/ pixelformat = ChoosePixelFormat(hdc, ppfd); /*2*/ if ( (pixelformat = ChoosePixelFormat(hdc, ppfd)) == 0 ) { /*2*/ MessageBox(GetModuleName(NULL), "ChoosePixelFormat Fehler", "FEHLER", MB_OK); /*2*/ return FALSE; } /*2*/ if (SetPixelFormat(hdc, pixelformat, ppfd) == FALSE) { /*2*/ MessageBox(GetModuleName(NULL), "SetPixelFormat Fehler", "FEHLER", MB_OK); return FALSE; /*2*/ } return TRUE; }/*2*/ Siehe MSDN, nicht dokumentiert, vorläufig /*3*/ Hilfsvariable /*7*/
PFD_DRAW_TO_WINDOW Verwende den Buffer für ein Fenster oder ein Gerät PFD_DRAW_TO_BITMAP Verwende den Buffer für eine Bitmap, im Arbeitsspeicher PFD_SUPPORT_GDI Für GDI Unterstützung, lt.MS Dokumentation. PFD_SUPPORT_GDI und PFD_DOUBLEBUFFER schließen sich gegenseitig aus. PFD_SUPPORT_OPENGL Für OPENGL Unterstützung PFD_GENERIC_ACCELERATED Für Geräte, die "generic implementation"verwenden. Wenn nicht gesetzt und PDF_GENERIC_FORMAT ist gesetzt, GDI Unterstützung PFD_GENERIC_FORMAT Unterstützung GDI Format. Nicht gesetzt, Treiberunterstützung PFD_NEED_PALETTE Für RGBA Einstellungen. Logische Palette ist notwendig, weitere Informationen hier. Erstelle Palette. PFD_NEED_SYSTEM_PALETTE Für 256 Bit Farbeeinstellungen. Vergleiche PFD_NEED_PALETTE. Nicht verwendet im GDI Format PFD_DOUBLEBUFFER Double Buffer, notwendig bei OPENGL, verträgt sich nicht mit PFD_SUPPORT_GDI PFD_STEREO Stereo Buffer. Keine GDI Unterstützung PFD_SWAP_LAYER_BUFFERS Für wglSwapLayerBuffer.Sondereinstellungen, Depth, Doublebuffer und Stereo Einstellungen werden ignoriert. PFD_DEPTH_DONTCARE PFD_DOUBLEBUFFER_DONTCARE PFD_STEREO_DONTCARE Nachfolgende Parameter sind Herstellerabhängig, daher oft schlecht dokumentiert /*14*/ cColorBits Anzahl Farbbits (8, 16, 24, 32, 32 Empfehlung Falls RGBA Modus, und Palette gesetzt: cRedBits cRedShift cGreenBit cGreenShift cBlueBits cBlueShift cAlphaBits cAlphaShift /*16*/ Accumulation Buffer, setzen, 8, 16, 24, 32.. Hersteller Dokumentationen cAccumBits cAccumRedBits cAccumGreenBits cAccumBlueBits cAccumAlphaBits /*15*/ cDepthBits /*17*/ cStencilBits /*nicht angeben */ cAuxBuffers Auxiliary buffers. Werden unter Windows nicht unterstützt. iLayerType Wird nicht mehr verwendet. bReserved Reserviert. /*8*/ dwLayerMask Wird nicht mehr verwendet. dwVisibleMask Bei RGBA Modus, dwVisibleMask ist ein transparenten RGB Farbwert. Bei Modus COLOR INDEX,Wert ist ein transparenter Index Farbwert. dwDamageMask Wird nicht mehr verwendet.