Einzelnen Beitrag anzeigen

arnoldo

Registriert seit: 8. Dez 2002
Ort: Berlin
131 Beiträge
 
Delphi 7 Personal
 
#1

bitblt() + Windows XP Problem

  Alt 18. Dez 2002, 19:18
Hallo miteinander,

ich habe ein Spiel programmiert in dem u.a. Schnee nach unten rieselt.
Die von mir verwendeten Schneeflocken-Bitmaps muessen tatuerlich teilweise transparent sein (wegen der Form) und damit das ganze recht flott vonstatten geht kopiere ich sie mit bitblt() auf den Schirm, nur habe ich das Problem das das ganze unter Windows ME ganz gut funktioniert, aber unter WinXP werden einfach die Schneeflocken gar nicht dargestellt.
Woran könnte das liegen? Bzw. welche Alternativen habe ich?
Hier die betreffenen Code-Zeilen (aus einer Unit):

Code:
function TransparentDraw(ZielDC:Word;zLeft,zTop,
                         zWidth,zHeight:Integer;
                         QuellDC,MaskeDC:Word;qLeft,qTop:Integer)
                         :Boolean;
begin
  Result:=BitBlt(ZielDC,zLeft,zTop,zWidth,
                 zHeight,MaskeDC,qLeft,qTop,SrcAnd);
  Result:=Result and BitBlt(ZielDC,zLeft,zTop,zWidth,
                            zHeight,QuellDC,qLeft,qTop,SrcInvert);
end;
Danke im voraus

P.S. im Anhang ist das Spiel
  Mit Zitat antworten Zitat