win32: use PrintWindow instead of WM_PRINT in PaintTo so windows are draw with theme

git-svn-id: trunk@53791 -
This commit is contained in:
blikblum 2016-12-28 10:59:59 +00:00
parent b77917bbc2
commit 019b8c5c6b
2 changed files with 2 additions and 2 deletions

View File

@ -410,6 +410,7 @@ type
function SetTimer(hWnd:HWND; nIDEvent:UINT_PTR; uElapse:UINT; lpTimerFunc: TIMERPROC): UINT_PTR; stdcall; external 'user32' name 'SetTimer';
function KillTimer(hWnd:HWND; uIDEvent:UINT_PTR):WINBOOL; stdcall; external 'user32' name 'KillTimer';
function HasManifest: Boolean;
function PrintWindow(HWND:HWND;hdcBlt:HDC;nFlags:DWORD):WINBOOL; stdcall; external 'user32.dll';
implementation

View File

@ -544,8 +544,7 @@ var
begin
SavedDC := SaveDC(ADC);
MoveWindowOrgEx(ADC, X, Y);
SendMessage(AWinControl.Handle, WM_PRINT, WParam(ADC),
PRF_CHECKVISIBLE or PRF_CHILDREN or PRF_CLIENT or PRF_NONCLIENT or PRF_OWNED);
PrintWindow(AWinControl.Handle, ADC, 0);
RestoreDC(ADC, SavedDC);
end;