Ein HRGN ist einfach ein
Handle auf ein Regionsobjekt. Die Raw-Daten einer Region kann man mit der Funktion GetRegionData erhalten, und sind nichts anderes als eine RGNDATA struktur mit einem array von RECTs. Regionen sind intern einfach eine Liste von Rechtecken, die von oben nach unten und links nach rechts sortiert sind. Dabei ist zu beachten, dass sie in "Zeilen" aufgebaut sind, d.h. man hat kein grosses Rechteck, das ueber z.b. zwei Zeilen geht. Diese werden dann in zwei Rechtecke aufgeteilt um die Algorithmen zu vereinfachen. Der Performanceverlust dadurch duerfte nur bei komplexeren Zeichenoperationen bemerksam sein.
Falls ich noch Informationen liefern sollen, wie Regionen bei Zeichenoperationen und Fenstern verwendet werden, kann ich dazu genuegend Informationen liefern.