Index: VirtualTrees.pas =================================================================== --- VirtualTrees.pas (Revision 292) +++ VirtualTrees.pas (Arbeitskopie) @@ -796,7 +796,7 @@ function DUnadvise(dwConnection: DWord): HResult; virtual; stdcall; Function EnumDAvise(Out enumAdvise : IEnumStatData):HResult;virtual;StdCall; function EnumFormatEtc(Direction: DWord; out EnumFormatEtc: IEnumFormatEtc): HResult; virtual; stdcall; - Function GetCanonicalFormatTEtc(const pformatetcIn : FORMATETC;Out pformatetcOut : FORMATETC):HResult; virtual; STDCALl; + Function GetCanonicalFormatTEtc(const pformatetcIn : tagFORMATETC;Out pformatetcOut : tagFORMATETC):HResult; virtual; STDCALl; function GetData(const FormatEtcIn: TFormatEtc; out Medium: TStgMedium): HResult; virtual; stdcall; function GetDataHere(const FormatEtc: TFormatEtc; out Medium: TStgMedium): HResult; virtual; stdcall; function QueryGetData(const FormatEtc: TFormatEtc): HResult; virtual; stdcall; @@ -10657,9 +10657,9 @@ FIndent := 18; FPlusBM := TBitmap.Create; - FPlusBM.PixelFormat := OptimalPixelFormat; + FPlusBM.PixelFormat := pf32bit; FMinusBM := TBitmap.Create; - FMinusBM.PixelFormat := OptimalPixelFormat; + FMinusBM.PixelFormat := pf32bit; //FBorderStyle := bsSingle; FButtonStyle := bsRectangle; @@ -21505,8 +21505,8 @@ {$endif ThemeSupport} with FCheckImages do begin - DirectMaskBlt(PaintInfo.Canvas.Handle, XPos, YPos, Height, Height, Canvas.Handle, - Index * Height, 0, MaskHandle); + MaskBlt(PaintInfo.Canvas.Handle, XPos, YPos, Height, Height, Canvas.Handle, + Index * Height, 0, MaskHandle, Index * Height, 0); end; end; Logger.ExitMethod([lcCheck],'PaintCheckImage'); @@ -21606,8 +21606,8 @@ XPos := R.Right - ButtonX - Bitmap.Width; Logger.SendBitmap([lcPaintBitmap],'NodeButton',Bitmap); // Need to draw this masked. - DirectMaskBlt(Canvas.Handle, XPos, R.Top + ButtonY, TreeButtonSize, TreeButtonSize, Bitmap.Canvas.Handle, - 0, 0, Bitmap.MaskHandle); + MaskBlt(Canvas.Handle, XPos, R.Top + ButtonY, TreeButtonSize, TreeButtonSize, Bitmap.Canvas.Handle, + 0, 0, Bitmap.MaskHandle, 0, 0); Logger.ExitMethod([lcPaintDetails],'PaintNodeButton'); end; @@ -26624,7 +26624,7 @@ NodeBitmap.Width := Window.Right - Window.Left; Logger.Send([lcPaintDetails],'NodeBitmap.Width',NodeBitmap.Width); // Make sure the buffer bitmap and target bitmap use the same transformation mode. - SetMapMode(NodeBitmap.Canvas.Handle, GetMapMode(TargetCanvas.Handle)); + //SetMapMode(NodeBitmap.Canvas.Handle, GetMapMode(TargetCanvas.Handle)); // For quick checks some intermediate variables are used. UseBackground := (toShowBackground in FOptions.FPaintOptions) and (FBackground.Graphic is TBitmap) and