?
Hallo Leute,
Ich möchte euch allen recht herzlich danken!!!
Ich habe nun einige Tests unternommen und somit festgestellt, dass, wie ihr bereits angekündigt habt, die Region doch richtig übergeben wird. Überdies bin ich so auf ein anderes Problem gestoßen. Die Funktion, die die Region verarbeitet befindet sich in dem Code einer Komponente, die ich von TPanel abgeleitet habe. Am Ende der Funktion ist eben die Region soweit bearbeitet, dass damit weitergearbeitet werden kann. So soll am Ende der Funktion der Komponente eben die Form der Region zugewiesen werden. Dies mache ich so:
SetWindowRgn(Handle, MusterRegion, true);
Jedoch passiert gar nichts. Ich bin davon ausgegangen, dass eben der Inhalt der Region verloren gegangen ist, daher ja auch meine Anfrage. Um dies nun auszuprobieren habe ich folgendes probiert: Statt die Region der Komponente zuzuweisen, habe ich die Region zeichnen lassen:
Graphics::TBitmap* Bitmap = new Graphics::TBitmap();
Bitmap->Height = 500;
Bitmap->Width = 500;
Bitmap->Canvas->Brush->Color = clRed;
PaintRgn(Bitmap->Canvas->Handle, MusterRegion);
Bitmap->SaveToFile(...);
Das Ergebnis war, dass die Bitmap- Datei richtig mit den Daten der Region gefüllt und abgespeichert wurde. Somit kann der Inhalt der Region ja nicht verloren sein.
Warum aber nimmt meine Komponente nicht die Form der Region an???
PS: Die Funktion CopyRegion von WebFritzi finde ich auch außerhalb meines Programms sehr hilfreich, also dafür noch zusätzlicher Dank!!!
Vielen Dank für eure Hile,
Euer Entertainer