Hallo ihr,
ich habe mal wieder ein Problem.
Ich bin dabei ein Programm von Delphi 2007 auf XE2 zu portieren. Dabei soll nun auch die Themeuntersützung aktiviert werden. Was ja dazu führt dass ein TPageControl nun einen
Farbverlauf hat. In diesem Programm werden jedoch Teile von Bildern ausgeblendet indem sie mit der Farbe clBtnFace übermalt werden.
Das sieht natürlich durch den
Farbverlauf nicht mehr schön aus. Nun dachte ich mir. Ok da schreibst du dir halt eine Funktion die aus dem Canvas des TPageControl die entsprechende Stelle kopiert und in das Zielbild einfügt. Leider bekomme ich da nur ein weißes Bild und nicht den
Farbverlauf zurück. (Siehe Bilder)
Hat jemand eine Idee wie ich ich an den
Farbverlauf ran komme?
Hier der Quellcode:
Delphi-Quellcode:
procedure setzeHintergrund(zielbild : TImage; parent : TPageControl; aktTabsheet : TTabSheet);
var
zielrect : TRect;
srcrect : TRect;
begin
zielrect:=Rect(0, 0, zielbild.Width, zielbild.Height);
srcrect:=Rect(aktTabsheet.Left+zielbild.Left, aktTabsheet.Top+zielbild.Top, zielbild.Width, zielbild.Height);
zielbild.Canvas.CopyRect(zielrect, parent.Canvas, srcrect);
end;
procedure TForm13.Btn1Click(Sender: TObject);
begin
setzeHintergrund(Im_1, pgc1, TabSheet1);
end;
MfG
Uwe