Autor Beitrag
Blue-Angel
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mi 24.03.04 18:44 
Hey Leute,
ich bräuchte mal eure Hilfe und zwar wüsste ich gern was in folgender prozedur geschieht. :-)

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
procedure TSonnensystem.SetDCPixelFormat(Handle: HDC);
var
  nPixelFormat: GLUint;
const
  pfd          : PIXELFORMATDESCRIPTOR = (
      nSize    : sizeof( PIXELFORMATDESCRIPTOR );
      nVersion : 1;
      dwFlags  : PFD_DRAW_TO_WINDOW
      or PFD_SUPPORT_OPENGL
      or PFD_DOUBLEBUFFER;
      iPixelType      : PFD_TYPE_RGBA;
      cColorBits      : 16;
      cRedBits        : 0;
      cRedShift       : 0;
      cGreenBits      : 0;
      cBlueBits       : 0;
      cBlueShift      : 0;
      cAlphaBits      : 0;
      cAlphaShift     : 0;
      cAccumBits      : 0;
      cAccumRedBits   : 0;
      cAccumGreenBits : 0;
      cAccumBlueBits  : 0;
      cAccumAlphaBits : 0;
      cDepthBits      : 16;
      cStencilBits    : 0;
      cAuxBuffers     : 0;
      iLayerType      : PFD_MAIN_PLANE;
      bReserved       : 0;
      dwLayerMask     : 0;
      dwVisibleMask   : 0;
      dwDamageMask    : 0
  );
begin
    nPixelFormat:=ChoosePixelFormat(h_DC, @pfd);
    SetpixelFormat(h_DC,nPixelFormat,@pfd);
end;


Danke schonmal für eure Hilfe :D

Moderiert von user profile iconPeter Lustig: Topic verschoben


Zuletzt bearbeitet von Blue-Angel am Mi 24.03.04 19:10, insgesamt 1-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 24.03.04 18:50 
Hallo und :welcome:!

Bitte ändere den Titel des Topics da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den Delphi-Forum.de Richtlinien:

Richtlinien hat folgendes geschrieben:

1.1 Beiträge
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...]

Einfach oben bei deinem ersten Beitrag auf "Edit" klicken und den Titel ändern. Dank Dir!

Gruß Peter Lustig

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Brainiac
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 24.03.04 19:42 
Die Prozedur setzt dein OGL-Fenster, dessen Context wohl in "h_DC" steht, auf ein bestimmtes Format.
In dem Fall 16bit Farbtiefe mit 16bit Z-Buffer und Doublebuffered.

Wenn du die eingebettete Konstante veränderst, kann natürlich auch ein anderes Format gesetzt werden.
Allerdings macht die Prozedur überhaupt keine Fehlerbehandlung. Vermutlich weil man praktisch jedes Fenster auf dieses einfache Format setzen kann.
Wenn du kompliziertere Formate wählst, musst du zuerst überprüfen, ob nPixelFormat nicht 0 ist.
Das hieße nämlich, dass das angegebene Format nicht unterstützt wird.