diff --git a/lcl/interfaces/customdrawn/customdrawnobject_win.inc b/lcl/interfaces/customdrawn/customdrawnobject_win.inc index 05cec01cf2..4f14e1b717 100644 --- a/lcl/interfaces/customdrawn/customdrawnobject_win.inc +++ b/lcl/interfaces/customdrawn/customdrawnobject_win.inc @@ -94,6 +94,16 @@ begin inherited Create; FTimerData := TList.Create; + // Create the dummy screen DC + ScreenBitmapRawImage.Init; + ScreenBitmapHeight := 100; + ScreenBitmapWidth := 100; + ScreenBitmapRawImage.Description.Init_BPP32_A8R8G8B8_BIO_TTB(ScreenBitmapWidth, ScreenBitmapHeight); + ScreenBitmapRawImage.CreateData(True); + ScreenImage := TLazIntfImage.Create(0, 0); + ScreenImage.SetRawImage(ScreenBitmapRawImage); + ScreenDC := TLazCanvas.Create(ScreenImage); + // Metrics always fail because SPI_GETNONCLIENTMETRICS doesn't exist under WinCE // So we need to get the fonts by other means FMetrics.cbSize := SizeOf(FMetrics); @@ -121,7 +131,7 @@ procedure TCDWidgetSet.BackendDestroy; n: integer; TimerInfo : PWinCETimerInfo;} begin - //DebugLn('Trace:TWinCEWidgetSet is being destroyed'); + DebugLn('[TCDWidgetSet.BackendDestroy]'); { n := FTimerData.Count; if (n > 0) then @@ -160,6 +170,10 @@ begin Windows.UnregisterClass(@ClsName, System.HInstance); inherited Destroy;} + + { Release the screen DC and Image } + ScreenDC.Free; + ScreenImage.Free; end; {------------------------------------------------------------------------------ diff --git a/lcl/interfaces/customdrawn/customdrawnwinapi.inc b/lcl/interfaces/customdrawn/customdrawnwinapi.inc index 7db79099c5..54beb48ee5 100644 --- a/lcl/interfaces/customdrawn/customdrawnwinapi.inc +++ b/lcl/interfaces/customdrawn/customdrawnwinapi.inc @@ -823,7 +823,7 @@ begin ------------------------------------------------------------------------------} else if aObject is TCDBitmap then begin - {$ifdef VerboseCDWinAPI} + {$ifdef VerboseCDDrawing} ObjType := 'Image'; {$endif} end @@ -832,7 +832,7 @@ begin ------------------------------------------------------------------------------} else if aObject is TLazRegion then begin - {$ifdef VerboseCDWinAPI} + {$ifdef VerboseCDDrawing} ObjType := 'Region'; {$endif} end diff --git a/lcl/interfaces/customdrawn/customdrawnwinapi_win.inc b/lcl/interfaces/customdrawn/customdrawnwinapi_win.inc index cdbdec59e5..d844ad06d6 100644 --- a/lcl/interfaces/customdrawn/customdrawnwinapi_win.inc +++ b/lcl/interfaces/customdrawn/customdrawnwinapi_win.inc @@ -2019,7 +2019,7 @@ begin if NIndex = COLOR_FORM then NIndex := COLOR_BTNFACE; Result := Windows.GetSysColorBrush(nIndex); -end; +end;*) {------------------------------------------------------------------------------ Method: GetSystemMetrics @@ -2028,12 +2028,12 @@ end; Retrieves various system metrics. ------------------------------------------------------------------------------} -function TWin32WidgetSet.GetSystemMetrics(NIndex: Integer): Integer; +function TCDWidgetSet.GetSystemMetrics(NIndex: Integer): Integer; begin Result := Windows.GetSystemMetrics(NIndex); end; -function TWin32WidgetSet.GetTextColor(DC: HDC): TColorRef; +(*function TWin32WidgetSet.GetTextColor(DC: HDC): TColorRef; begin Result := TColorRef(Windows.GetTextColor(DC)); end; @@ -2505,7 +2505,7 @@ end; function TWin32WidgetSet.MaskBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc: Integer; Mask: HBITMAP; XMask, YMask: Integer): Boolean; begin Result := StretchMaskBlt(DestDC, X, Y, Width, Height, SrcDC, XSrc, YSrc, Width, Height, Mask, XMask, YMask, SRCCOPY); -end; +end;*) {------------------------------------------------------------------------------ Method: MessageBox @@ -2537,7 +2537,7 @@ begin PWideChar(WideLPCaption), UType); end; -function TWin32WidgetSet.MonitorFromPoint(ptScreenCoords: TPoint; dwFlags: DWord): HMONITOR; +(*function TWin32WidgetSet.MonitorFromPoint(ptScreenCoords: TPoint; dwFlags: DWord): HMONITOR; begin Result := MultiMon.MonitorFromPoint(ptScreenCoords, dwFlags); end;