Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#11

AW: Stempel erzeugen - CombineRgn zu langsam

  Alt 25. Okt 2016, 19:19
try
if Rgn<>0 then
if SetWindowRgn(AHandle, Rgn, True)<>0 then Result:=True;
finally
DeleteObject(Rgn);
end;

..
Windows.SetWindowRgn(pnl1.Handle, rgn, True);
DeleteObject(Rgn);
[/DELPHI]
Ein Hinweis:
Niemals nach SetWindowRgn die Rgn mit DeleteObject freigeben!!!!!

https://msdn.microsoft.com/de-de/lib...(v=vs.85).aspx

Zitat:
After a successful call to SetWindowRgn, the system owns the region specified by the region handle hRgn. The system does not make a copy of the region. Thus, you should not make any further function calls with this region handle. In particular, do not delete this region handle. The system deletes the region handle when it no longer needed.
Sprich, Windows wird OWNER der Rgn und gibt diese auch frei!!
Wenn Du diese jedoch direkt wieder frei gibs, kann dies zu unerwarteten Anzeigen führen!!


Das hatten wir auch schon einmal hier im Forum diskutiert...
  Mit Zitat antworten Zitat