|
@@ -59,6 +59,7 @@ type
|
|
FVerticalScrollPos: integer;
|
|
FVerticalScrollPos: integer;
|
|
FWantedItemVisible: integer;
|
|
FWantedItemVisible: integer;
|
|
FItemsPerPage: integer;
|
|
FItemsPerPage: integer;
|
|
|
|
+ FScaling: single;
|
|
{ Setters and getters }
|
|
{ Setters and getters }
|
|
function GetColumnCount: integer;
|
|
function GetColumnCount: integer;
|
|
function GetHeight: integer;
|
|
function GetHeight: integer;
|
|
@@ -701,6 +702,7 @@ begin
|
|
ABitmap.FontHeight := FontHeight;
|
|
ABitmap.FontHeight := FontHeight;
|
|
ABitmap.FontQuality := fqSystemClearType;
|
|
ABitmap.FontQuality := fqSystemClearType;
|
|
FActualRowHeight:= MinimumRowHeight;
|
|
FActualRowHeight:= MinimumRowHeight;
|
|
|
|
+ FScaling := (Sender as TControl).GetCanvasScaleFactor;
|
|
textHeight := ABitmap.FontFullHeight+2;
|
|
textHeight := ABitmap.FontFullHeight+2;
|
|
if textHeight > FActualRowHeight then FActualRowHeight:= textHeight;
|
|
if textHeight > FActualRowHeight then FActualRowHeight:= textHeight;
|
|
|
|
|
|
@@ -852,6 +854,8 @@ procedure TLCShellListView.MouseDown(Sender: TObject; Button: TMouseButton;
|
|
var i,idx, prevIdx:integer;
|
|
var i,idx, prevIdx:integer;
|
|
keepSelection, selChanged:boolean;
|
|
keepSelection, selChanged:boolean;
|
|
begin
|
|
begin
|
|
|
|
+ X := round(X*FScaling);
|
|
|
|
+ Y := round(Y*FScaling);
|
|
SetFocus;
|
|
SetFocus;
|
|
for i := 0 to ColumnCount-1 do
|
|
for i := 0 to ColumnCount-1 do
|
|
if PtInRect(Point(x,y),FColumns[i].displayRect) then
|
|
if PtInRect(Point(x,y),FColumns[i].displayRect) then
|
|
@@ -928,6 +932,8 @@ end;
|
|
procedure TLCShellListView.MouseMove(Sender: TObject; Shift: TShiftState; X,
|
|
procedure TLCShellListView.MouseMove(Sender: TObject; Shift: TShiftState; X,
|
|
Y: Integer);
|
|
Y: Integer);
|
|
begin
|
|
begin
|
|
|
|
+ X := round(X*FScaling);
|
|
|
|
+ Y := round(Y*FScaling);
|
|
if Assigned(FVScrollBar) then
|
|
if Assigned(FVScrollBar) then
|
|
if FVScrollBar.MouseMove(X,Y) then
|
|
if FVScrollBar.MouseMove(X,Y) then
|
|
begin
|
|
begin
|
|
@@ -939,6 +945,8 @@ end;
|
|
procedure TLCShellListView.MouseUp(Sender: TObject; Button: TMouseButton;
|
|
procedure TLCShellListView.MouseUp(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
Shift: TShiftState; X, Y: Integer);
|
|
begin
|
|
begin
|
|
|
|
+ X := round(X*FScaling);
|
|
|
|
+ Y := round(Y*FScaling);
|
|
if Assigned(FVScrollBar) and (Button = mbLeft) then
|
|
if Assigned(FVScrollBar) and (Button = mbLeft) then
|
|
if FVScrollBar.MouseUp(X,Y) then
|
|
if FVScrollBar.MouseUp(X,Y) then
|
|
begin
|
|
begin
|