LazReport, fix preview scrolling broken in r36420 #c016e1b6ec, issue #21633

git-svn-id: trunk@36887 -
This commit is contained in:
jesus 2012-04-17 20:51:14 +00:00
parent 3c8ab01a27
commit ef8cf9df31

View File

@ -888,18 +888,19 @@ end;
procedure TfrPreviewForm.VScrollBarChange(Sender: TObject); procedure TfrPreviewForm.VScrollBarChange(Sender: TObject);
var var
{$IFDEF WIN32} {$IFDEF WIN32}
p, pp: Integer;
r: TRect; r: TRect;
pp: Integer;
{$ENDIF} {$ENDIF}
p: Integer;
i: integer; i: integer;
Pages: TfrEMFPages; Pages: TfrEMFPages;
begin begin
if EMFPages = nil then Exit; if EMFPages = nil then Exit;
{$IFDEF WIN32}
p := VScrollBar.Position; p := VScrollBar.Position;
pp := OldV - p;
OldV := p;
ofy := -p; ofy := -p;
{$IFDEF WIN32}
OldV := p;
pp := OldV - p;
r := Rect(0, 0, PBox.Width, PBox.Height); r := Rect(0, 0, PBox.Width, PBox.Height);
ScrollWindowEx(PBox.Handle, 0, pp, @r, @r, 0, nil, SW_INVALIDATE); ScrollWindowEx(PBox.Handle, 0, pp, @r, @r, 0, nil, SW_INVALIDATE);
UpdateWindow(Pbox.Handle); UpdateWindow(Pbox.Handle);
@ -918,18 +919,19 @@ begin
end; end;
procedure TfrPreviewForm.HScrollBarChange(Sender: TObject); procedure TfrPreviewForm.HScrollBarChange(Sender: TObject);
{$IFDEF WIN32}
var var
p, pp: Integer; p: Integer;
{$IFDEF WIN32}
pp: Integer;
r: TRect; r: TRect;
{$ENDIF} {$ENDIF}
begin begin
if EMFPages = nil then Exit; if EMFPages = nil then Exit;
{$IFDEF WIN32}
p := HScrollBar.Position; p := HScrollBar.Position;
ofx := -p;
{$IFDEF WIN32}
pp := OldH - p; pp := OldH - p;
OldH := p; OldH := p;
ofx := -p;
r := Rect(0, 0, PBox.Width, PBox.Height); r := Rect(0, 0, PBox.Width, PBox.Height);
ScrollWindowEx(PBox.Handle, pp, 0, @r, @r, 0, nil, SW_INVALIDATE); ScrollWindowEx(PBox.Handle, pp, 0, @r, @r, 0, nil, SW_INVALIDATE);
UpdateWindow(Pbox.Handle); UpdateWindow(Pbox.Handle);