For testing I deleted the SelectClipRgn line:
- Code: Select all
procedure TGraphNode.DrawBackground(Canvas: TCanvas);
var
ClipRgn: HRGN;
Bitmap: TBitmap;
Graphic: TGraphic;
begin
if Background.Graphic <> nil then
begin
ClipRgn := CreateClipRgn(Canvas);
try
// SelectClipRgn(Canvas.Handle, ClipRgn);
try
Graphic := Background.Graphic;
Background.OnChange := nil;
Canvas.StretchDraw(BoundsRect, Graphic);
Background.OnChange := BackgroundChanged;
finally
SelectClipRgn(Canvas.Handle, 0);
end;
finally
DeleteObject(ClipRgn);
end;
Canvas.Brush.Style := bsClear;
end;
end;
Now it seems to work, however I asked myself which problems could occur by doing this, even though I didn't noticed any so far.
P_G