Hi arnoldo,
ein hDC ist ein
Handle und Handles sind vom Typ Longword (also 32 bit ohne Vorzeichen). Du benutzst allerdings Words (16 bit ohne Vorzeichen) dafür. Ich könnte mir gut vorstellen, dass Windows NT/2000/XP etwas dagegen hat, dass die Zahl der DCs 65.536 überschreitet (mein Verdacht ist, dass das unter Windows 95/98/ME gar nicht geht) und du dann nur die niedrigeren 16 bit des 32 bit-Handles benutzst.
Lange Rede, kurzer Sinn: Schreib deine Funktionendeklaration wie folgt um, benutze nur noch Longwords (oder HDCs) für Device-Context-Handles und schau, ob's funktioniert.
function TransparentDraw(ZielDC: Longword; zLeft, zTop, zWidth, zHeight: Integer; QuellDC, MaskeDC: Longword; qLeft, qTop: Integer): Boolean;
MfG,
d3g